0

こんにちは、セッション内のオブジェクトのリストをループしようとしています。再び、jstl を使用してセッション内の各オブジェクトをループしています。ここにjspコードがあります

<c:forEach items="${sessionScope}" var="item">
    <b>${item.key}</b>
    <table border=1>
        <c:forEach items="${item.nodes}" var="node">

            <tr>
                <td>${node.link}</td>
                <td>${node.title}</td>
                <td>${node.description}</td>
            </tr>

        </c:forEach>
    </table>

</c:forEach>

これがノードクラスです

public class Nde {

    private String title;
    private String link;
    private String description;
    public String getTitle() {
        return title;
    }
    public void setTitle(String title) {
        this.title = title;
    }
    public String getLink() {
        return link;
    }
    public void setLink(String link) {
        this.link = link;
    }
    public String getDescription() {
        return description;
    }
    public void setDescription(String description) {
        this.description = description;
    }

}

Nde クラス オブジェクトのリストを持つ PersonalData クラス。

public class PersonalData {
    private List<Nde> nodes;
    private static int count=0;
    private String s;

    public List<Nde> getNodes()  {
        return nodes;
    }



    public String getS() {
        return s;
    }



    public void setS(String s) {
        this.s = s;
    }



    public void setNodes(List<Nde> nodes) {
        this.nodes = nodes;
    }



    public PersonalData() {
        super();
        count++;
        nodes = new ArrayList<Nde>();

    }

    public static int getCount() {
        return count;
    }
}

アイテムをループしているときに、次の例外が発生します

che.jasper.el.JspPropertyNotFoundException: /WEB-INF/views/display.jsp(17,0) '${item.nodes}' Property 'nodes' not found on type javax.servlet.jsp.el.ImplicitObjectELResolver$ScopeMap$ScopeEntry
org.apache.jasper.el.JspValueExpression.getValue(JspValueExpression.java:109)
org.apache.jsp.WEB_002dINF.views.display_jsp._jspx_meth_c_005fforEach_005f1(display_jsp.java:155)
org.apache.jsp.WEB_002dINF.views.display_jsp._jspx_meth_c_005fforEach_005f0(display_jsp.java:122)
org.apache.jsp.WEB_002dINF.views.display_jsp._jspService(display_jsp.java:78)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:238)
org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:262)
org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1180)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:950)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:789)
javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)

ノード プロパティが見つからないのはなぜですか?

4

1 に答える 1

1

使ってみて

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

<c:forEach items="${sessionScope}" var="item">
<c:if test="${fn:startsWith(item.key,'myData')}" >
    <b>${item.key}</b>
    <table border=1>
       <c:forEach items="${item.value.nodes}" var="node">
            <tr>
                <td>${node.link}</td>
                <td>${node.title}</td>
                <td>${node.description}</td>
            </tr>
        </c:forEach>
    </table>
</c:if>
</c:forEach>
于 2013-03-31T03:32:28.337 に答える