我在项目中使用Spring MVC
。在我的控制器中,我将一个值列表添加到模型映射中。
model.addAttribute("BulkList", finalizedBulkList);
此finalizedBulkList
是java.util.List
。
现在我需要遍历列表并检索javascript
中列表中的值。
我该怎么做?
var limit = parseInt(${BulkList}.length);
for(i=0; i<limit; i++){
console.log("value is = "+${BulkList[i]});
}
以上是我试过的,但不正确。
答案 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"%>