Java 可以使用jsp变量值初始化JQUERY变量吗?
我有以下几个问题:Java 可以使用jsp变量值初始化JQUERY变量吗?,java,javascript,jquery,jsp,servlets,Java,Javascript,Jquery,Jsp,Servlets,我有以下几个问题: 如何在JQUERY代码中使用JSP变量/数组?这里,我们所有的JQUERY代码都存储在单独的.js文件中,该文件包含在JSP文件中 实际上,我想用JSP变量初始化JQUERY数组。 所以请引导我完成这项任务 不直接。你必须把它放在页面的某个地方 <script> var fromJsp = '${theVar}'; </script> var fromJsp='${theVar}'; 请注意,对于复杂对象,这可能会变得棘手。也许JSON序列
不直接。你必须把它放在页面的某个地方
<script>
var fromJsp = '${theVar}';
</script>
var fromJsp='${theVar}';
请注意,对于复杂对象,这可能会变得棘手。也许JSON序列化可以成为您的朋友
还要注意,这是单向的。无法从JavaScript设置JSP变量的值(因为JavaScript在JSP完成其工作后运行客户端)。您可以使用以下方法-
然后在jQuery中使用var1。在普通的旧JSP中使用
<script>
var someText = "<%= myBean.getText() %>";
</script>
var someText=“”;
使用EL(表达语言)
var someText=“${myBean.text}”;
使用Struts
<script>
var someText = '<bean:write name="myBean" property="text" />';
</script>
var someText='';
使用JSTL
<script>
var someText = '<c:out value="${myBean.text}" />';
</script>
var someText='';
本质上,可以从JSP填充Javascript对象。不要忘记,Scriptlet和标记只是以HTML/XHTML的形式呈现,因此JS无法与标记对话,反之亦然。Java/JSP在服务器机器的webserver中运行,并生成HTML/CSS/JS代码。服务器机器将HTML/CSS/JS代码发送到客户端机器。HTML/CSS/JS在客户端机器上的webbrowser中运行。右键单击页面并查看源代码,您不会看到任何Java/JSP代码 JSP是一种视图技术,它提供了一个用于编写HTML/CSS/JS的模板,并能够使用taglibs/EL与后端Java数据交互,以控制页面流和访问数据 每当您想让JavaScript访问Java/JSP变量时,只需编写一个Java变量,就好像它是一个JavaScript变量一样
<script>var foo = '${bean.foo}';</script>
每当您想让Java/JSP访问JavaScript变量时,您所需要做的就是让JavaScript触发(XML)HTTP请求。更多的背景信息和示例可以在中找到。注意XSS的含义:String theVar=“hello';alert(\“XSS\”);/“第二个示例根本不使用JSTL。它被称为EL(表达式语言)。但EL是JSTL的一部分(附录A):)当这个答案浮到顶部时,我将重复另一个答案中的注释,特别是对于“纯旧JSP”解决方案:注意XSS含义:String theVar=“hello';alert(\“XSS\”)/”真正的Olaf…因此最好使用JSTL
来处理此类含义,而不要使用“普通的旧JSP”。呃,fmt
标记库不关心XSS。c:out
和fn:escapeXml
可以。假设变量是字符串,并且不包含“字符”。
<script>var foo = '${bean.foo}';</script>
<script>var foo = 'bar';</script>