Pessoal,
Primeiramente eu fiz minha aplicação usando somente JSF e Hibernate então estava funcionando normal. Mas agora estou tentando usar o richfaces e esta aparecendo uma mensagem de erro. Estou procurando na net sobre essa mensagem mas não acho em lugar algum falando sobre o mesmo.
Obs: Estou usando JSF 2.0, Hibernate, Richfaces 3.3.3 e Tomcat 6.0.
As aterações que eu fiz para usar o richfaces foram:
Adicionar as libs:
richfaces-api-3.3.3.Final.jar
richfaces-impl-3.3.3.Final.jar
richfaces-ui-3.3.3.Final.jar
Obs: Não sei se tenho que incluir a lib richfaces-impl-jsf2-3.3.3.Final.jar, porém já testei com e sem esse lib e não funciona mesmo.
criar a página helloRich.jsp:
[code]
<%@ 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 uri=“http://richfaces.org/a4j” prefix=“a4j”%>
<%@ taglib uri=“http://richfaces.org/rich” prefix=“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>Insert title here</title>
</head>
<body>
<f:view>
<h:form>
<rich:panel header=“Ola RichFaces” style=“width: 300px”>
<h:outputText value=“Seu nome: " />
<h:inputText value=”#{helloRichBean.nome}"/>
<a4j:commandButton value=“Dizer ola” reRender=“olaPainel” />
<h:panelGroup id="olaPainel" layout="block">
<h:outputText value="Ola, " rendered="#{not empty helloRichBean.nome}" />
<h:outputText value="#{helloRichBean.nome}" />
<h:outputText value="!" rendered="#{not empty helloRichBean.nome}" />
</h:panelGroup>
</rich:panel>
</h:form>
</f:view>
</body>
</html>[/code]
Criar o HelloRichBean.java:
package appjsf_sistemafinanceiro.visao;
public class HelloRichBean {
private String nome = null;
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
}
Registrar o Bean no faces-config.xml:
<managed-bean>
<managed-bean-name>helloRichBean</managed-bean-name>
<managed-bean-class>appjsf_sistemafinanceiro.visao.HelloRichBean</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>
Se alguem poder me ajudar eu agradeço.
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: Tentativa ilegal de definir ViewHandler depois de uma resposta ter sido renderizada.
javax.faces.webapp.FacesServlet.service(FacesServlet.java:422)
org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:206)
org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:388)
org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:515)
root cause
java.lang.IllegalStateException: Tentativa ilegal de definir ViewHandler depois de uma resposta ter sido renderizada.
com.sun.faces.application.ApplicationImpl.setViewHandler(ApplicationImpl.java:562)
org.ajax4jsf.event.InitPhaseListener.beforePhase(InitPhaseListener.java:92)
com.sun.faces.lifecycle.Phase.handleBeforePhase(Phase.java:228)
com.sun.faces.lifecycle.Phase.doPhase(Phase.java:99)
com.sun.faces.lifecycle.RestoreViewPhase.doPhase(RestoreViewPhase.java:113)
com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:409)
org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:206)
org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:388)
org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:515)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.32 logs.