DisplayTag + EL

Tenho uma lista de Estados brasileiros e imprimo esta lista no JSP da seguinte forma, resumidamente:

[color=red]DAO[/color]

public List list(){
        
        List list=null;
        Estado est;
           
        try{
            list=new ArrayList();
            r=s.executeQuery("select * from estado order by descricao");
            while(r.next()){
                est=new Estado();
                est.setId(r.getInt("id"));
                est.setDescricao(r.getString("descricao"));
                est.setSigla(r.getString("sigla"));
                list.add(est);
            }
            return list;
        }catch(Exception e){
            return null;
        }
    }

[color=red]Application Listener[/color]

public void contextInitialized(ServletContextEvent evento)
{
        ServletContext contexto = evento.getServletContext();
        
        EstadoDAO estDAO=new EstadoDAO();
	contexto.setAttribute("estados", estDAO.list());
        
}

[color=red]JSP[/color]

<c:forEach var="obj" items="${estados}">
     <tr>
          <td>${obj.descricao}</td>
          <td>${obj.sigla}</td>
     </tr>                        
</c:forEach>

Tudo está funcionando perfeitamente. Porém, quero fazer paginação do resultado. A dúvida é: como fazer o DisplayTag receber a minha lista assim como o forEach recebe? Li e reli os docs, exemplos, mas não consegui fazer funcionar! Alguém tem idéia? :wink:

Com VRaptor … so modificar

Aonde name seria a sua list e caso voce não faça SERVLET > JSP vc coloca o requestURI.

<display:table id="usuario"" name="${usuarios}" requestURI="usuario.lista.logic">
<display:column property="id" sortable="true"/>
<display:column property="login" />
</display:table>

[quote=rdgms]Com VRaptor … so modificar

Aonde name seria a sua list e caso voce não faça SERVLET > JSP vc coloca o requestURI.

<display:table id="usuario"" name="${usuarios}" requestURI="usuario.lista.logic">
<display:column property="id" sortable="true"/>
<display:column property="login" />
</display:table>

[/quote]

Agora aparece o seguinte erro:

exception

org.apache.jasper.JasperException: org/apache/commons/beanutils/NestedNullException
	org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:375)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
	org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:368)

root cause

javax.servlet.ServletException: org/apache/commons/beanutils/NestedNullException
	org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:858)
	org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:791)
	org.apache.jsp.teste_jsp._jspService(teste_jsp.java:126)
	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
	org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:368)

root cause

java.lang.NoClassDefFoundError: org/apache/commons/beanutils/NestedNullException
	org.displaytag.model.Column.getValue(Column.java:124)
	org.displaytag.model.Column.createChoppedAndLinkedValue(Column.java:201)
	org.displaytag.model.Column.initialize(Column.java:178)
	org.displaytag.render.TableWriterTemplate.writeTableBody(TableWriterTemplate.java:308)
	org.displaytag.render.TableWriterTemplate.writeTable(TableWriterTemplate.java:133)
	org.displaytag.render.HtmlTableWriter.writeTable(HtmlTableWriter.java:643)
	org.displaytag.tags.TableTag.writeHTMLData(TableTag.java:1549)
	org.displaytag.tags.TableTag.doEndTag(TableTag.java:1218)
	org.apache.jsp.teste_jsp._jspService(teste_jsp.java:113)
	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:332)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
	org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:368)

O que seria isso?

Obrigado, galera, mas desisti do Display Tag. Muito complicado! :cry: Acabei criando meu próprio método de paginação. :wink: Assim fica mais fácil eu me entender com ele, hehehe! Valeu!