我正在寻找传递一个servlet 变量myVar,它被传递到一个JSP 页面,并将它传递给JavaScript。JavaScript 是包含在 JSP 页面中的外部 JavaScript。
我有一个调用 JavaScript 函数的按钮,但是我无法通过 servlet 传递任何传递到 JSP 页面的变量。该按钮不是表单的一部分。
我尝试在 JavaScript 中调用一个函数:
var x = '<%=myVar%>';
和
var x = '${myVar}';
和
var x = '<%= (String)request.getParameter("myVar") %>';
但是,x
总是一串我输入的内容。
我没有使用 AJAX 或 JQuery。有任何想法吗?
示例代码是一个简化版本:(所以按钮实际上是一个下拉菜单,当我更改值时会调用 js,但是,我希望在 changeCLass 中调用不属于下拉菜单的其他变量)
Servlet 端:
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个测试