JSP ページに渡されるサーブレット変数 myVar を渡し、それを JavaScript に渡したいと考えています。JavaScript は、JSP ページに含まれる外部 JavaScript です。
JavaScript 関数を呼び出すボタンがありますが、サーブレットを介して JSP ページに渡される変数を渡すことができません。ボタンはフォームの一部ではありません。
JavaScriptの関数で呼び出してみました:
var x = '<%=myVar%>';
と
var x = '${myVar}';
と
var x = '<%= (String)request.getParameter("myVar") %>';
ただし、x
常に入力した文字列です。
私は AJAX や JQuery を使用していません。何か案は?
コード例は簡略化されたバージョンです: (したがって、ボタンは実際には値を変更するときに js を呼び出すドロップダウンですが、ドロップダウンの一部ではない他の変数を changeCLass で呼び出す必要があります)
サーブレット側:
request.setAttribute("otherVars","tests");
JSP:
<script type="text/javascript" src="external.js"></script>
<select name="vars" id="myVars" onchange="changeClass(this)">
<option value='1' selected="selected">1</option>
</select>
JSPに含まれるexternal.js:
function changeClass(newVarX) {
var newVarId =newVarX.value;
var tID = '${otherVars}';
alert(newVarId + " " + tID);
}
出力: 1 $(otherVars}
しかし、出力は次のようになります: 1 つのテスト