【问题标题】:How to let JavaScript use the variable from server side? [duplicate]如何让 JavaScript 使用服务器端的变量? [复制]
【发布时间】:2012-12-30 04:09:19
【问题描述】:

我们有jsp,它使用一些java bean来创建一些在jsp中使用的变量。我想知道如何与 javascript 共享这些变量?

【问题讨论】:

  • 您需要在服务器端更改的值也反映在客户端上还是只是加载时间值?
  • 变量在这种情况下是一个模棱两可的术语。您需要将数据序列化为可以呈现为字符串并由浏览器中的脚本解释的表单。如何做到这一点取决于数据的复杂性。如果您说明正在使用的技术和版本,也会有所帮助。

标签: java javascript jsp servlets


【解决方案1】:

将您的 bean 值写入 HTML 元素的值或 HTML 元素的属性。给 HTML 元素一个 ID。使用 Javascript 按 ID 或其他访问器检索元素,您可以访问该值。您使用的是 struts 还是其他 Servlet 框架?

一个简单的例子

JSP:

 <div id="employeeName">
      <jsp:getProperty name="employee" property="firstName"/>
    </div>

HTML:

<script type="text/javascript">var el = document.getElementById("employeeName");</script>

【讨论】:

  • 我只是使用纯servlet
【解决方案2】:

您可以使用 JSTL 标记在 JavaScript 代码中输出您的 Bean 值。它远非优雅,但它有效。例如,这是一个 JSP 页面的片段:

<script type="text/javascript">
    <c:if test="${imServerSideBean eq false}" >
        var imAJSVariable= new Object();
    </c:if>
//More code here
</script>
<html>
//Code continues

您正在使用 JSTL 选择是否使 JavaScript 变量可见。

【讨论】:

猜你喜欢
  • 2011-03-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-15
  • 1970-01-01
  • 2016-03-24
相关资源
最近更新 更多