在JSP中从Javascript访问Java变量

1 javascript java variables jsp

可能重复:
JavaScript中的JSP变量访问

我在jsp页面上有一个java变量和一个javascript.

<% int max=70; %>
Run Code Online (Sandbox Code Playgroud)

如何从脚本中获取变量?

var x = ???
Run Code Online (Sandbox Code Playgroud)

我尝试了document.getElementById()但不幸的是它似乎不起作用,因为它不是一个html元素

这是我的错误:

无法为JSP编译类:

An error occurred at line: 13 in the jsp file: /search.jsp
max cannot be resolved
10:     function validateForm() {
11:         var x=document.forms["search"]["capacity"].value;
12:         var y=document.forms["search"]["date"].value;
13:         var m=<%=max%>;
14:         if (isNaN(x)) {
15:             alert("Capacity must be an Integer");
16:             return false;
Run Code Online (Sandbox Code Playgroud)

Bal*_*usC 6

JSP是一个HTML代码生成器.JS是HTML的一部分.

让JSP打印相应的JS变量.

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

在浏览器中打开页面,右键单击" 查看源"以验证JSP生成的HTML/JS语法是否正确.

也可以看看:


具体问题无关,使用scriptlet被认为是十年以来不鼓励的.要了解正确的方法,请仔细阅读如何避免JSP文件中的Java代码?假设max在EL范围内可用,您可以按如下方式打印它:

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