Documentation 3. 基本的な例題![]() |
![]() ![]() |
前述のようにwebMathematica をインストールするとhttp://localhost:8080/webMathematica/Examples/Variables.jspでこのMSPに接続することができます(ご自分のサーバに接続するURLはこれとは多少異なる場合もあります).この例では変数と入力値がどのように連結されるかが示されます.このページのソースはwebMathematica/Examples/Variables.jspにあります.
<%@ page language="java" %>
<%@ taglib uri="/webMathematica-taglib" prefix="msp" %>
<html>
<head>
<title>Assigning Variables</title>
</head>
<body bgcolor="#ffffff" >
<h1>Assigning Variables</h1>
<form action="Variables.jsp" method="post"> HTML form
<msp:allocateKernel>
Enter something:
<br>
<input type="text" name="tmp" size="10" /> ユーザ入力フィールド
<br>
<br>
<msp:allocateKernel>
<msp:evaluate>$$tmp</msp:evaluate> Mathematica による評価
</msp:allocateKernel>
<br>
<input type="submit" name="submitButton"
value="Evaluate" /> formを作動させるボタン
</msp:allocateKernel>
</form>
</body>
</html>
このページにはformとinput要素が入っていて,先程のものよりも複雑になっていますが,これらの要素はクライアントとのインタラクションを行う重要な方法です.
form要素はinput要素を持つHTMLのブロックです.submitタイプのinputを送ることでformが活性化されます.submitは各inputタグに関連した名前と値をサーバに送信します.ここでは,form要素の最初のタグに2つの属性があります.action属性はformが活性化されたときに接続するURLを参照します.ここではオリジナルのVariablesスクリプトを示す相対URLが参照されています.method属性はブラウザにどのHTTPメソッドを使うかを指示します.ここではpostメソッド(これが一般的です)になっています.
この例には2つのinputタグがあります.最初のタグはページのユーザがテキストを入力することを許可し,2つ目のタグは,押されるとformを送るボタンを指定します.formは,送信されるとinput要素からの情報をaction属性で指定されたURLに送ります.この場合は同一のJSPです.inputタグに入れられたテキストはtmpという名前を使って入力変数$$tmpに割り当てられます.
このページに最初にアクセスしたときは,$$tmpの値はありません.テキストフィールドに値が記入され,「Evaluate」ボタンが押されると,表示された値が$$tmpに与えられます.値はMathematicaの文字列で,「5+7」のような計算を入力しようとしても実際の計算は行われない点に注意してください.Mathematica で入力を解釈し評価したい場合は,後程説明するMSP関数のどれかを使わなければなりません.
$$という接頭辞は,入力変数にラベルを付けるために使われます.入力変数とはHTTPのリクエストによって送られる変数のことです.変数の使い方については「より高度なトピック」の「変数」で詳しく説明します.
![]() ![]() |