Futuros experts em java ! Olha a moral!
Estou tentado montar um grid em uma dataTable com JSF , só que a montagem fica nula sem nenhum registro (vazio).
Usando o metódo com jsp funciona normalmente!
Poderiam me ajudar?
Classe:
[quote]public class ColigadaControle {
/** Creates a new instance of ColigadaControle */
private static ColigadaDAO dao = null;
public ColigadaControle() {
if (dao == null) {
dao = new ColigadaDAO();
}
}
public DataModel getListaColigada() {
DataModel model = new ListDataModel(dao.getListaColigada());
return model;
}
}[/quote]
Arquivo faces-config.xml :
coligada
br.com.sistema.beans.Coligada
session
colControle
br.com.sistema.controle.ColigadaControle
session
Aquivo JSF:
…
<f:view>
<h:outputText value=“JavaServer Faces” />
<h:dataTable value="#{colControle.listaColigada}" var=“lista” border=“1”>
<h:column>
<f:facet name=“header”>
<h:outputText value=“NOME”/>
</f:facet>
<h:outputText value="#{lista.fantasia}"/>
</h:column>
<h:column>
<f:facet name=“header”>
<h:outputText value=“CNPJ / CPF”/>
</f:facet>
<h:outputText value="#{lista.cnpjcpf}"/>
</h:column>
<h:column>
<f:facet name=“header”>
<h:outputText value=“OBSERVAÇÃO”/>
</f:facet>
<h:outputText value="#{lista.observacao}"/>
</h:column>
<h:column>
<f:facet name=“header”>
<h:outputText value=“RASÃO SOCIAL”/>
</f:facet>
<h:outputText value="#{lista.razaosocial}"/>
</h:column>
<h:column>
<f:facet name=“header”>
<h:outputText value=“RESPONSÁVEL”/>
</f:facet>
<h:outputText value="#{lista.responsavel}"/>
</h:column>
</h:dataTable>
</f:view>
…
Tentou usar simplesmente uma java.util.List!!!
Eu inicialmente usei somente o List , mas, também veio ZERADO !
Pergunta besta: você chegou a depurar para ver se a lista não está vazia?! Não está estourando um erro por debaixo dos panos?! A princípio está tudo certo, nestes códigos que você mostrou!
Alterei um pouco o código. Ocorreu o seguinte erro:
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:504)
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: Cannot find FacesContext
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:858)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:791)
org.apache.jsp.index_jsp._jspService(index_jsp.java:92)
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
javax.servlet.jsp.JspException: Cannot find FacesContext
javax.faces.webapp.UIComponentTag.doStartTag(UIComponentTag.java:405)
com.sun.faces.taglib.jsf_core.ViewTag.doStartTag(ViewTag.java:105)
org.apache.jsp.index_jsp._jspx_meth_f_view_0(index_jsp.java:107)
org.apache.jsp.index_jsp._jspService(index_jsp.java:81)
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)
novais
Julho 25, 2007, 1:54pm
#6
Pelo erro que você postou, parece que o mapeamento do FACES não está legal, ou não foi colocado o filtro no web.xml. Aí vai o código:
Faces-config:
<application>
<view-handler>
com.sun.facelets.FaceletViewHandler
</view-handler>
</application>
Web.xml:
<?xml version=“1.0” encoding=“UTF-8”?>
<web-app version=“2.4” xmlns=“http://java.sun.com/xml/ns/j2ee ” xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance ” xsi:schemaLocation=“http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd ”>
<context-param>
<param-name>com.sun.faces.verifyObjects</param-name>
<param-value>true</param-value>
</context-param>
<context-param>
<param-name>com.sun.faces.validateXml</param-name>
<param-value>true</param-value>
</context-param>
<context-param>
<param-name>javax.faces.DEFAULT_SUFFIX</param-name>
<param-value>.xhtml</param-value>
</context-param>
<context-param>
<param-name>facelets.DEVELOPMENT</param-name>
<param-value>true</param-value>
</context-param>
<context-param>
<param-name>facelets.SKIP_COMMENTS</param-name>
<param-value>true</param-value>
</context-param>
<!-- FACELETS -->
<filter>
<filter-name>facelets</filter-name>
<filter-class>
com.sun.facelets.webapp.FaceletFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>facelets</filter-name>
<url-pattern>*.jsf</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>facelets</filter-name>
<url-pattern>/FACES-INF/*</url-pattern>
</filter-mapping>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.jsf</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>30</session-timeout>
</session-config>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
novais
Julho 25, 2007, 1:55pm
#7
Aproveitando, mande, novamente, o código da sua página, seu bean, inclusive como você consulta os dados para sabermos se tem algum outro problema.
Um abraço,
Novais