无法在JSTL中检索列表中的列表

时间:2014-03-28 04:35:08

标签: java html jsp servlets jstl

我无法从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

1 个答案:

答案 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, ",");
    }
}