在javascript中遍历模型映射列表

时间:2015-01-20 08:06:15

标签: java javascript spring spring-mvc

我在项目中使用Spring MVC。在我的控制器中,我将一个值列表添加到模型映射中。

model.addAttribute("BulkList", finalizedBulkList);

finalizedBulkListjava.util.List

现在我需要遍历列表并检索javascript中列表中的值。

我该怎么做?

var limit = parseInt(${BulkList}.length);

for(i=0; i<limit; i++){
    console.log("value is = "+${BulkList[i]});
}

以上是我试过的,但不正确。

2 个答案:

答案 0 :(得分:1)

您在Javascript中无法访问BulkList。 Javascript只能访问JSP生成的源代码。

要在javascript中访问列表,您必须将项目添加到javascript数组中。像这样:

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
...
var bulkListJavascriptArray = [ 
<c:forEach var="bulkItem" items="${BulkList}">
   <c:out value="${bulkItem}"/>,
</c:forEach>
];

for(var i=0; i<bulkListJavascriptArray.length; i++){
    console.log("value is = " + bulkListJavascriptArray[i]);
}

答案 1 :(得分:0)

您可以使用jstl标签在html或jsp代码中迭代遍历modelMap列表对象,

<div><c:forEach begin="0" end="${fn:length(BulkList) - 1 }" items="${BulkList}" var="bulkObject">
    <c:if test="${bulkObject != 0}"><c:out value="${bulkObject}"/></c:if>
</c:forEach>
</div>

要使用此JSTL代码库,您需要将其包含在jsp页面中。

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>