js与java是不同语言,运行在不同环境下,因此无法直接获得对方数据。
java运行在服务器端,在同一个jsp文件中,java先运行,js后运行,java可以生成一段js代码,保证js运行得到相应的结果,因此可以用java定义js变量的方式来传递数据,例如:
上面例子,<%%>中的内容会在服务器端运行,在“”中间输出网址,浏览器就会加载下面的结果:
这部分就是标准的js代码了。
在js中使用<%=变量名%>,其前提js代码必须是在同一个页面中,不能通过外部链接的js中使用,如果还是不行的话,你可以将java变量放入request等范围内,然后通过EL表达式取用
比如说有一个name的变量
<%
String name = "bbb";
%>
在js中可以这样去获取
var name = "<%=name %>";
js中可以用${...}去获取
<%=变量名%>