イントラマートで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()」が生成されているようです。
要注意です。






