【问题标题】:How to get a list of objects in jQuery from s:hidden tag in Struts 2如何从 Struts 2 中的 s:hidden 标签获取 jQuery 中的对象列表
【发布时间】:2017-02-24 08:52:45
【问题描述】:

将对象列表从 Struts 2 操作发送到 JavaScript 的最佳方式是什么?

我正在尝试以这种方式发送数据,但它不起作用

Action >>> JSP : <s:hidden>  >>> Javascript

<s:hidden id="listObj" value="%{objects}" />

这一行将我的对象名称数组作为字符串:

$('#listObj').val()

谢谢

【问题讨论】:

    标签: javascript java jquery json struts2


    【解决方案1】:

    像这样将对象列表转换为 JSON

    String objectsJson = new Gson().toJson(objects);
    

    您应该使用 getter 来访问 jsp 中的变量。

    现在,您需要通过 javascript 解析此文本。您可以在 JSP 中使用 JSON.parse('${objectsJson}') 来获取 javascript 对象或 如果对象存储在隐藏字段中

    var objects = JSON.parse($('#listObj').val());
    

    【讨论】:

      【解决方案2】:

      您必须使用 JSTL 遍历 objects 列表来填充您的 js 数组:

      <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
      <script>
          var list = [];
          <c:forEach items="${objects}" var="o">
              list.push("${o}")
          </c:forEach>
      </script>
      

      或与老式的脚本相同的东西..

      <% for(int i = 0; i < objects.size(); i++) { %>
          ...
      <% } %>
      

      【讨论】:

      • +1 表示迭代,-1 表示老式小脚本。使用 OGNL 方式更改 scriptlet 以获得积极的网络 :)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-12-31
      • 2017-05-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多