显示列表的内容

时间:2013-07-15 21:27:14

标签: java jsp jsf richfaces jstl

请问这个jstl代码有什么问题?我看不到它的内容。

我的accueil.jsp页面的内容

<table>
       <tr>
           <th><c:out value="Numéro de compte"/></th>
           <th><c:out value="Date création"/></th>
           <th><c:out value="Date mise-à-jour"/></th>
           <th><c:out value="Libelle"/></th>
           <th><c:out value="Type devise"/></th>
           <th><c:out value="Situation compte"/></th>        
       </tr>

       <c:forEach items="${ sessionScope.listCpts }" var="liste">
           <tr>
                <td><a href="<c:url value="/menu"/>">${ liste.value.rib }</a></td>
                <td>${ liste.value.dateCréation }</td>
                <td>${ liste.value.dateMaj }</td>
                <td>${ liste.value.libelle }</td>
                <td>${ liste.value.typeDevise }</td>
                <td>${ liste.value.situationCompte }</td>
           </tr> 
       </c:forEach>
</table>

我的doPost方法

public static final String ATT_LIST_CPT       = "listCpts";
public void doPost( HttpServletRequest request, HttpServletResponse response ) throws ServletException, IOException {
        ConnexionForm form = new ConnexionForm();

        User user = form.connecterUser( request );

        ServiceService service = new ServiceService();
        tn.bh.services.client.Service srvc = service.getServicePort();
        List<Compte> listCpts = srvc.consulterListeCpt(user.getIdentifiant());

        HttpSession session = request.getSession();

        request.setAttribute( ATT_LIST_CPT, listCpts );
        request.setAttribute( ATT_FORM, form );
        request.setAttribute( ATT_USER, user );

        if ( form.getErreurs().isEmpty() ) {
            session.setAttribute( ATT_SESSION_USER, user );
            response.sendRedirect( request.getContextPath() + "/accueil" );
        } else {
            session.setAttribute( ATT_SESSION_USER, null );
            this.getServletContext().getRequestDispatcher( VUE ).forward( request, response );
        }

}

这就是我生成的html页面。 请注意,我的列表(listCpts)已填满。

enter image description here

2 个答案:

答案 0 :(得分:1)

您正在请求范围中存储数据,然后您正在调用request.sendRedirect(),因此它将从客户端生成新请求,这将丢失数据

将数据放入会话范围

    session.setAttribute( ATT_LIST_CPT, listCpts );

或只是转发请求而不是重定向

然后更改

${ sessionScope.listCpts }

${listCpts}

答案 1 :(得分:0)

我认为你可以使用这个

来访问对象的属性
  

$ {liste.dateCréation}

而不是

  

$ {liste.value.dateCréation}

并避免在属性名称中使用重音字符。