小编use*_*546的帖子

将servlet变量传递给javascript

我希望传递一个传递给JSP页面的servlet变量myVar,并将其传递给JavaScript.JavaScript是包含在JSP页面中的外部JavaScript.

我有一个调用JavaScript函数的按钮,但是我无法通过servlet传递任何传递给JSP页面的变量.该按钮不是表单的一部分.

我试过用JavaScript函数来调用:

var x = '<%=myVar%>';
Run Code Online (Sandbox Code Playgroud)

var x = '${myVar}';
Run Code Online (Sandbox Code Playgroud)

var x = '<%= (String)request.getParameter("myVar") %>';
Run Code Online (Sandbox Code Playgroud)

但是,x总是一串我输入的内容.

我没有使用AJAX或JQuery.有任何想法吗?

示例代码是一个简化版本:(因此按钮实际上是一个下拉,在我更改值时调用js,但是,我希望其他变量不属于下拉列表,在changeCLass中调用)

Servlet方面:

request.setAttribute("otherVars","tests");
Run Code Online (Sandbox Code Playgroud)

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>
Run Code Online (Sandbox Code Playgroud)

JSP中包含的external.js:

function changeClass(newVarX) {

    var newVarId =newVarX.value;
    var tID = '${otherVars}';

    alert(newVarId + " " + tID);
}
Run Code Online (Sandbox Code Playgroud)

输出:1 $(otherVars)

但输出应该是:1次测试

javascript variables jsp servlets

6
推荐指数
1
解决办法
1万
查看次数

标签 统计

javascript ×1

jsp ×1

servlets ×1

variables ×1