指定Java设置为使用EL一个Javascript数组(Assigning a Java Set t

2019-10-17 04:23发布

所以,我想通过一个设置成使用Spring和JSP EL一个.JSP页面,然后将集的成员分配到Javascript数组在客户端脚本以后使用。

举例来说,如果我有Java的设置exampleSet:{ “A”, “B”, “C”}

我把它传递给客户端为弹簧ModelAndView对象的一部分。

在客户机侧JSP,我可以使用EL,以输出设定为$ {model.exampleSet},其被解析成[A,B,C]由JSP。

我想要做的就是分配exampleSet的内容为JavaScript字符串数组,所以你喜欢的东西

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

我找不到一个直接的方式来做到这一点。 该另一个显而易见的方法是通过设置循环,但我不能在JavaScript制定出集的大小,我不认为我可以做到这一点。

Answer 1:

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循环,创建HTML / JavaScript中,当在浏览器中呈现,创建代码来表示的Javascript数组。



文章来源: Assigning a Java Set to a Javascript array using EL