我有一些问题如下:
如何在JQUERY代码中使用JSP变量/数组?在这里,我们所拥有的JQUERY代码存储在单独的.js文件中,该文件包含在JSP文件中。
实际上我想用JSP变量初始化JQUERY数组。 所以请指导我完成这项任务。
答案 0 :(得分:17)
在Plain Old JSP中
<script>
var someText = "<%= myBean.getText() %>";
</script>
使用EL(表达语言)
<script>
var someText = "${myBean.text}";
</script>
使用Struts
<script>
var someText = '<bean:write name="myBean" property="text" />';
</script>
使用JSTL
<script>
var someText = '<c:out value="${myBean.text}" />';
</script>
实质上,可以从JSP填充Javascript对象。不要忘记,scriptlet和标签只是以HTML / XHTML的形式呈现,因此JS无法与标签对话,反之亦然。
答案 1 :(得分:2)
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>
是一个很好的例子。请注意,这些引用是JavaScript本身所必需的,而不是JSP / EL。想象一下${bean.foo}
返回bar
,然后生成的HTML / CSS / JS页面到达客户端最终会看起来像:
<script>var foo = 'bar';</script>
每当您想让Java / JSP访问JavaScript变量时,您需要做的就是让JavaScript触发(XML)HTTP请求。更多背景信息和示例可以在this article中找到。
答案 2 :(得分:0)
不直接。您必须将其设置到某个页面。
<script>
var fromJsp = '${theVar}';
</script>
请注意,对于复杂对象而言,这可能会变得棘手。也许JSON序列化可以成为你的朋友。
另请注意,这只是单向的。不可能从JavaScript设置JSP变量的值(因为JavaScript在JSP完成工作后运行客户端)。
答案 3 :(得分:0)
你可以使用它 -
<input type="hidden" id="var1" value="<%=jspVar%>" />
然后在jQuery中使用var1。