是否可以使用jsp变量值来初始化JQUERY变量?

时间:2010-03-12 07:17:57

标签: java javascript jquery jsp servlets

我有一些问题如下:

  1. 如何在JQUERY代码中使用JSP变量/数组?在这里,我们所拥有的JQUERY代码存储在单独的.js文件中,该文件包含在JSP文件中。

  2. 实际上我想用JSP变量初始化JQUERY数组。 所以请指导我完成这项任务。

4 个答案:

答案 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。