|
3.12 変数の取得:GetBasic.jsp
3.12 変数の取得:GetBasic.jsp 前述のようにwebMathematica をインストールするとhttp://localhost:8080/webMathematica/Examples/GetBasic.jspでこのJSPに接続することができます(ご自分のサーバに接続するURLはこれとは多少異なる場合もあります). この例題ではJSPで計算された値をMathematica に渡します.Mathematica はこの値を使って計算します.このページのソースはwebMathematica/Examples/Set.mspにあります.その一部分は以下のようになっています.
<msp:allocateKernel>
<msp:evaluate> num = Random[Integer, {1, 10}]; list = Table[ Random[], {num}] ; sum = Apply[ Plus, list]/num; </msp:evaluate>
<msp:get name="dArray" type="double[]" value="list" /> <msp:get name="dValue" type="Double" value="sum" />
<p> The average is <%= dValue %>. </p>
<table border> <% for ( int i = 0; i < dArray.length; i++) { %> <tr><td><%= dArray[i] %></td></tr> <% } %> </table>
</msp:allocateKernel>
この例ではMathematica が乱数のリストを生成し,その平均値を計算します.JSPはmsp:getタグを使ってこれらの値を得ます.このタグはname属性,type属性それにvalue属性を持っています.name属性はJavaの変数名を制御します.type属性はJavaで使われるタイプを制御します.value属性は評価しなければならないMathematica の式を渡します.Object,String,配列のような参照タイプのみがmsp:getタグで渡されます.これに加え,Javaで与えられるタイプはMathematica が送ったタイプと互換性がなければなりません.さもなければ例外が投げられます.Mathematica からの伝達規則は通常のJ/Link タイプの変換が適用されますが,適用されなければオブジェクトはJ/Link が提供する一般的なMathematica 式を表すcom.wolfram.jlink.Exprタイプのオブジェクトに変換されます. この例題にはJavaとMathematica の両方のプログラミングが必要です.これはwebMathematica を既存のJSPフレームワークに統合することがいかに簡単かを示しています.
     
|