1

因此,我尝试使用 Spring 和 JSP EL 将 Set 传递到 .jsp 页面,然后将集合的成员分配给 Javascript 数组,以便稍后在客户端脚本中使用。

例如,如果我有 Java Set exampleSet: { "A", "B", "C"}

我将它作为弹簧 ModelandView 对象的一部分传递给客户端。

在客户端 JSP 中,我可以使用 EL 将集合输出为 ${model.exampleSet} ,JSP 将其解析为 [A, B, C] 。

我想要做的是将 exampleSet 的内容分配给一个 javascript 字符串数组,所以你会得到类似的东西

var exampleSet = ["A", "B", "C"]

我找不到直接的方法来做到这一点。另一个明显的方法是遍历 Set,但由于我无法在 javascript 中计算出 Set 的大小,我认为我也不能这样做。

4

1 回答 1

4

JavaScript 在浏览器上执行。JSP 在服务器上呈现。您在这里错过了执行环境的生命周期。

你会做的是

<script>
var exampleSet = [
  <c:forEach var="item" items="${theSetVariable}" varStatus="loop">
    "${item}"
    <c:if test="${!loop.last}">,</c:if>
  </c:forEach>
]
<script>

因此,您正在循环访问 JSP 中的 Set,以创建 HTML/JavaScript,当在浏览器上呈现时,它会创建代码来表示 Javascript 数组。

于 2012-08-22T15:44:07.083 回答