我无法从JSTL检索列表数据 这是我的豆子
public class ProjectData {
public List <String> srNumbers;
public String comments;
public String getComments() {
return comments;
}
public List<String> getSrNumbers() {
return srNumbers;
}
}
这是我的html snipet
<c:forEach items="${projectDataList}" var="projectDataList">
<c:forEach items="${projectDataList.srNumbers}" var="srNumbers">
<c:out value="${srNumbers}" />,
</c:forEach>
</c:forEach>
下面是我在servlet中设置的内容
request.setAttribute("projectDataList", projectDataList);
预期输出低于
sr1,sr2,sr3
已经定义了setter
答案 0 :(得分:0)
这可能有效:
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<c:forEach items="${projectDataList}" var="projectDataList">
${fn:join(projectDataList.srNumbers.toArray(), ',')}
</c:forEach>
这避免了当前代码会产生的“悬挂”逗号。不确定.toArray()
部分,因为我没有测试过代码,但另一种方法是简单地向ProjectData
类添加另一种方法,如:
import org.apache.commons.lang.StringUtils;
public class ProjectData {
public List <String> srNumbers;
public String comments;
public String getSrNumbersJoined() {
return StringUtils.join(srNumbers, ",");
}
}