イントラマートでMozilla RhinoのimportPackage()を使ってみる
イントラマートでMozilla RhinoのimportPackage()を使ってみる方法です。
イントラマートとは
株式会社NTTデータイントラマート社が開発・販売している、Webアプリケーションシステムのシステム共通基盤(統合型フレームワーク)で、国内の著名企業を中心に6,000社以上に導入されています。
イントラマートを導入することにより、Webシステム開発における短納期・低コスト・標準化推進・品質向上を実現できます。
詳しくはこちらをご覧ください。
イントラマートでMozilla RhinoのimportPackage()を使ってみる
イントラマートでMozilla RhinoのimportPackage()を使ってみます。
var logger = Logger.getLogger() ; function init() { importPackage( java.lang ) ; var str = new StringBuffer(); str.append( "aaa" ) ; str.append( "bbb" ) ; logger.info( "文字列は[" + str + "]") ; }
実行結果は
[INFO] 文字列は[aaabbb]
ちゃんとJavaのStringBufferが生成されています。
importPackage()を使えば「Packages」と「.」で連なる部分を短くできます。
importPackage()は「Mozilla Rhino」で定義されているようです。
但し
importPackage および importClass 関数は、JavaScript のグローバル変数スコープを「煩雑」にします。これを回避するために、JavaImporter を使用できます。
というようなことがあるので、
var logger = Logger.getLogger() ; function init() { importPackage( java.lang ) ; var str1 = new java.lang.String( "abcdefg"; ) ; //←これはJavaのString logger.info( "文字列は[" + str1.trim() + "]") ; //trim()があるのでOK var str2 = new String( "abcdefg" ) ; //←これはJavascriptのString logger.info( "文字列は[" + str2.trim() + "]") ; //trim()がないので例外エラーが発生します。 }
「new String()」と書くとJavascriptの「String()」が生成されているようです。
要注意です。