|
3.11 変数の設定:SetBasic.jsp
3.11 変数の設定:SetBasic.jsp 前述のようにwebMathematica をインストールするとhttp://localhost:8080/webMathematica/Examples/SetBasic.jspでこのJSPに接続することができます(ご自分のサーバに接続するURLはこれとは多少異なる場合もあります) この例題ではJSPで計算された値をMathematica に渡します.Mathematica はこの値を使って計算します.この例題ではJavaのプログラミングを使っています.この点が,Javaのプログラミングを必要としないほとんどのwebMathematica との違いです.このページのソースはwebMathematica/Examples/Set.mspにあります.以下はこのソースです.
<%@ page language="java" %> <%@ taglib uri="/webMathematica-taglib" prefix="msp" %>
<html> <head> <title>Set Example</title> </head> <body bgcolor="#ffffff" >
<h1>Set Example</h1>
<p> This jsp uses the MSP Taglib to demonstrate passing Java values to Mathematica. </p>
<% int num = 10; Object obj = new Object(); %>
<msp:allocateKernel>
<msp:set name="var1" intValue="<%= num %>" /> <msp:set name="var2" objectValue="String from java" /> <msp:set name="var3" objectValue="<%= obj %>" />
<msp:evaluate> Nest[ f, x, var1] </msp:evaluate>
<msp:evaluate> Characters[ var2] </msp:evaluate>
<msp:evaluate> var3@hashCode[] </msp:evaluate>
</msp:allocateKernel>
</body> </html>
この例題では変数numがint,strがString(文字列),objがObject(オブジェクト)を表します.このそれぞれがJSPで作成され,msp:setタグを使ってMathematica に渡されます.このタグはname属性とvalue属性の2つの引数を取ります.name属性はMathematica で変数に与えられる名前を与えます.一方value属性は値を参照するものです.変数がint,char,doubleのようなプリミティブタイプの場合は,intValue,charValue,doubleValueのような適切な値属性を使う必要があります.msp:setはJava intをMathematica の整数として送りJava StringをMathematica の文字列として送る方法にご注目ください.Java ObjectはMathematica オブジェクトの参照として送られます.JavaからMathematica へどのようにタイプが送られるのかを決めている規則は,J/Link で使われている規則と全く同じものです.
     
|