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?
rdgms
Novembro 24, 2008, 1:47pm
#2
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! Acabei criando meu próprio método de paginação. Assim fica mais fácil eu me entender com ele, hehehe! Valeu!