ドキュメント3. 基本的な例題

 

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のようなプリミティブタイプの場合は,intValuecharValuedoubleValueのような適切な値属性を使う必要があります.msp:setはJava intをMathematica の整数として送りJava StringをMathematica の文字列として送る方法にご注目ください.Java ObjectはMathematica オブジェクトの参照として送られます.JavaからMathematica へどのようにタイプが送られるのかを決めている規則は,J/Link で使われている規則と全く同じものです.