如何从 Struts 中的 s:hidden 标签获取 jQuery 中的对象列表 2

How to get a list of objects in jQuery from s:hidden tag in Struts 2

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

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

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

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

此行将对象名称数组作为字符串获取:

$('#listObj').val()

谢谢

您必须使用 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++) { %>
    ...
<% } %>

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

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

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

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

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