我正在寻找传递一个servlet变量myVar传递给JSP页面并将其传递给JavaScript。 JavaScript是包含在JSP页面中的外部JavaScript。将一个servlet变量传递给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:包括在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>
external.js:
function changeClass(newVarX) {
var newVarId =newVarX.value;
var tID = '${otherVars}';
alert(newVarId + " " + tID);
}
输出: 1 $(otherVars}
但输出应该是: 1测试
此代码从外部文件获取? – rano
@ user1798546简单的做法是创建一个隐藏字段,用于存储值并从中获取值。另一种方法是将变量作为参数传递给js函数 ''button onclick ='someFunction(<%=(String)request.getParameter(“myVar”)%>)'>调用函数' –
它会是更好地解释你的应用程序如何表现atm(使用代码示例)以更好地理解并提供更好的解决方案 –