my notebook blog : Rhino
Rhino で js を実行中にファイルにログを書き出したい
Java から evaluateString する形で javascript コードを実行する場合に logger.log() で指定したファイルにログを書き出したい、という場合の解決方法.
Rhino で実行する javascript をコンパイルしてから使う
いままで Javaから javascript を実行するのに、 evaluateString ばかり使っていたが、事前にこれをコンパイルして使うことができるらしいので、試してみた。
改良版) Rhino を使って Java から JavaScript を実行する
Rhino を使って Java から JavaScript を実行する から、さらにあれこれ試していて多少進捗があったので、 現在までに得た見地をまとめます。
今、関心の対象にあるのは、 いわゆる Embedding Rhino と呼ばれていることで、Javaのオブジェクト (Host Objects) をつくって、それを Rhino の Javascript から利用することです。 このあたり Rhino Embedding_tutorialの内容です。
なお、例によってここにあるコードはすべて Groovy です。
Rhino で console.log() したい
Java から evaluateString する形で javascript コードを実行する場合に Node.js のように console.log() したい、という場合の解決方法.
Rhino で Java 側でつくった配列クラスを使う
カスタムオブジェクトを Java側でつくって JavaScript であれこれしたい場合で、 そのカスタムオブジェクトが配列的なクラスの場合 list[0] のようにアクセスしたときに意図した値を返す方法.
結論としては、ScriptableObject を拡張してつくったサブクラスで Object get(int index, Scriptable start) メソッドをオーバーライドすればOK.
Rhino を使って Java から JavaScript を実行する
将来的には nashorn が廃止になるらしい. nashorn の代わりに Rhino で実行する方法を調査したのでメモします.
Older Posts »