RichFaces - DataScroller não funciona

4 respostas
P

Olá! Estou aprendendo ainda jsf, richfaces e hibernate. Estou desenvolvendo uma listagem de usuários mas parece que o datascroller ñ está funcionando, está dando o seguinte erro:

HTTP Status 500 - 

--------------------------------------------------------------------------------

type Exception report

message 

description The server encountered an internal error () that prevented it from fulfilling this request.

exception 

javax.servlet.ServletException: class org.richfaces.component.html.HtmlDatascroller (id="j_id_jsp_1627167358_17") did not find parent form.
	javax.faces.webapp.FacesServlet.service(FacesServlet.java:249)
	org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:141)
	org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:281)


root cause 

org.richfaces.component.EnclosingFormRequiredException: class org.richfaces.component.html.HtmlDatascroller (id="j_id_jsp_1627167358_17") did not find parent form.
	org.richfaces.component.util.FormUtil.throwEnclFormReqExceptionIfNeed(FormUtil.java:49)
	org.richfaces.renderkit.html.DatascrollerTemplate.doEncodeBegin(DatascrollerTemplate.java:178)
	org.richfaces.renderkit.html.DatascrollerTemplate.doEncodeBegin(DatascrollerTemplate.java:172)
	org.ajax4jsf.renderkit.RendererBase.encodeBegin(RendererBase.java:101)
	org.richfaces.renderkit.html.DataScrollerRenderer.encodeBegin(DataScrollerRenderer.java:59)
	javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:809)
	org.ajax4jsf.renderkit.RendererBase.renderChild(RendererBase.java:280)
	org.richfaces.renderkit.AbstractRowsRenderer.encodeCellChildren(AbstractRowsRenderer.java:281)
	org.richfaces.renderkit.AbstractRowsRenderer.encodeTableHeaderFacet(AbstractRowsRenderer.java:303)
	org.richfaces.renderkit.AbstractTableRenderer.encodeFooter(AbstractTableRenderer.java:173)
	org.richfaces.renderkit.AbstractTableRenderer.encodeTableStructure(AbstractTableRenderer.java:73)
	org.richfaces.renderkit.html.DataTableRenderer.doEncodeBegin(DataTableRenderer.java:166)
	org.richfaces.renderkit.html.DataTableRenderer.doEncodeBegin(DataTableRenderer.java:128)
	org.ajax4jsf.renderkit.RendererBase.encodeBegin(RendererBase.java:101)
	javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:809)
	javax.faces.component.UIData.encodeBegin(UIData.java:873)
	org.ajax4jsf.component.UIDataAdaptor.encodeBegin(UIDataAdaptor.java:1000)
	javax.faces.component.UIComponent.encodeAll(UIComponent.java:881)
	javax.faces.component.UIComponent.encodeAll(UIComponent.java:889)
	com.sun.faces.application.ViewHandlerImpl.doRenderView(ViewHandlerImpl.java:258)
	com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:176)
	org.ajax4jsf.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:108)
	org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:237)
	com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:108)
	com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:266)
	com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:159)
	javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
	org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:141)
	org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:281)


note The full stack trace of the root cause is available in the Apache Tomcat/6.0.20 logs.

--------------------------------------------------------------------------------

Apache Tomcat/6.0.20

o código da página jsf é:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="f"  uri="http://java.sun.com/jsf/core"%>
<%@ taglib prefix="h"  uri="http://java.sun.com/jsf/html"%>
<%@ taglib prefix="a4j" uri="http://richfaces.org/a4j"%>
<%@ taglib prefix="rich" uri="http://richfaces.org/rich" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Listagem de Usuários</title>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
	<style type="text/css" media="all">
	@import url("css/maven-base.css");
	@import url("css/maven-theme.css");
	@import url("css/site.css");
	@import url("css/screen.css");
	@import url("css/print.css");
    </style>
</head>
<body>
<f:view>
	<h3>Listagem de Usuários</h3>
	<rich:dataTable value="#{usuarioBean.lista}" var="u" rendered="#{not empty usuarioBean.lista}" id="lista" rows="10">
		<h:column>
			<f:facet name="header">
				<h:outputText value="Id"/>
			</f:facet>
			<h:outputText value="#{u.id}"/>
		</h:column>
		<h:column>
			<f:facet name="header">
				<h:outputText value="Nome"/>
			</f:facet>
			<h:outputText value="#{u.nome}"/>
		</h:column>
		<h:column>
			<f:facet name="header">
				<h:outputText value="E-mail"/>
			</f:facet>
			<h:outputText value="#{u.email}"/>
		</h:column>
		<h:column>
			<f:facet name="header">
				<h:outputText value="Telefone Fixo"/>
			</f:facet>
			<h:outputText value="#{u.telFixo}"/>
		</h:column>
		<h:column>
			<f:facet name="header">
				<h:outputText value="Telefone Celular"/>
			</f:facet>
			<h:outputText value="#{u.telFixo}"/>
		</h:column>
		<f:facet name="footer">  
		    <rich:datascroller />  
        </f:facet>  		
	</rich:dataTable>
</f:view>
</body>
</html>

Alguém poderia me ajudar, por favor.

Abraços

4 Respostas

G

Eu não tive como tentar reproduzir esse código aqui, mas pelo que eu vi, acho que um posivel erro é que você não colocou o código dentro do <h:form> </h:form>.
Dá uma olhada no site do RichFaces, tem vários exemplos que você pode usar para tirar algumas dúvidas.

Abraços

P

Guilherme,

Muito Obrigada! :smiley: Nem tinha reparado nisso :oops:

Abraços

rick_gallagher

Boa! Estava com problema semelhante…

tiago.vt

pelo que eu vi o seu scroller ta dentro do dataTable, tem que ser fora e no scroller voce tem que referencia o dataTable com o atributo for=“dataTable”

Criado 26 de julho de 2009
Ultima resposta 22 de set. de 2010
Respostas 4
Participantes 4