Inicialização do JSF

8 respostas
rodrigovfsilva

Pessoal, estou tentando acessar uma aplicação JSF e não consigo exibir a página principal.

Recebo o seguinte erro:
10:26:20,484 ERROR [[Faces Servlet]] Servlet.service() for servlet Faces Servlet threw exception
java.lang.NoSuchMethodError: javax.faces.application.ViewHandler.initView(Ljavax/faces/context/FacesContext;)V
at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:208)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:137)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:241)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:580)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:595)

Minhas configurações são as seguintes: - Faces Config
<?xml version="1.0"?>

<faces-config version="1.2" 
    xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xi="http://www.w3.org/2001/XInclude"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd">
	<application>
	    <variable-resolver>
	    	org.springframework.web.jsf.DelegatingVariableResolver
	    </variable-resolver>
 	</application>  

	<managed-bean>
		<managed-bean-name>clientBean</managed-bean-name>
		<managed-bean-class>br.com.teste.poc.client.web.bean.ClientBean</managed-bean-class>
		<managed-bean-scope>session</managed-bean-scope>
		<managed-property>
     		<property-name>clientBusinessAction</property-name>
     		<value>#{clientBusinessAction}</value>
   		</managed-property>
	</managed-bean>

	<navigation-rule>
		<from-view-id>/jsp/client/listClients.jsp</from-view-id>
		<navigation-case>
			<from-outcome>listClients</from-outcome>
			<to-view-id>/jsp/client/listClients.jsp</to-view-id>
		</navigation-case>
		<navigation-case>
			<from-outcome>createClient</from-outcome>
			<to-view-id>/jsp/client/createClient.jsp</to-view-id>
		</navigation-case>
		<navigation-case>
			<from-outcome>updateClient</from-outcome>
			<to-view-id>/jsp/client/updateClient.jsp</to-view-id>
		</navigation-case>
		<navigation-case>
			<from-outcome>deleteClient</from-outcome>
			<to-view-id>/jsp/client/listClients.jsp</to-view-id>
		</navigation-case>
	</navigation-rule>

	<!-- Create Client -->	
	<navigation-rule>
		<from-view-id>/jsp/client/createClient.jsp</from-view-id>
		<navigation-case>
			<from-outcome>success</from-outcome>
			<to-view-id>/jsp/client/clientMsg.jsp</to-view-id>
		</navigation-case>
	</navigation-rule>

	<!-- Update Client -->	
	<navigation-rule>
		<from-view-id>/jsp/client/updateClient.jsp</from-view-id>
		<navigation-case>
			<from-outcome>success</from-outcome>
			<to-view-id>/jsp/client/clientMsg.jsp</to-view-id>
		</navigation-case>
	</navigation-rule>

	<!-- Client - Success Message -->
	<navigation-rule>
		<from-view-id>/jsp/client/clientMsg.jsp</from-view-id>
		<navigation-case>
			<from-outcome>listClients</from-outcome>
			<to-view-id>/jsp/client/listClients.jsp</to-view-id>
		</navigation-case>
	</navigation-rule>
</faces-config>
WEB.xml
<?xml version="1.0"?>

<web-app 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"
         version="2.4">

    <description>POCWeb web.xml</description>

    <context-param>
        	<param-name>contextConfigLocation</param-name>
        	<param-value>/WEB-INF/applicationContext.xml,classpath*:beans.xml</param-value>
    </context-param>

    <context-param>
 		<param-name>javax.faces.CONFIG_FILES</param-name>
        <param-value>/WEB-INF/faces-config.xml</param-value>
     </context-param>
  	
	<listener>
            <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  	</listener>
  	
    <!-- Faces Servlet -->
    <servlet>
        <servlet-name>Faces Servlet</servlet-name>
        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>

	
    <!-- Faces Servlet Mapping -->
    <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>*.jsf</url-pattern>
    </servlet-mapping>

	
    <!-- Welcome files -->
    <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
        <welcome-file>index.html</welcome-file>
    </welcome-file-list>

</web-app>

O que pode ser? Algum detalhe que eu tenha esquecido?

Atenciosamente,

8 Respostas

rodrigovfsilva

Será que é por causa do uso do Spring? Será que o problema é com o listener?

Neto.Sabio

Cara uma duvida , a tag de aplication não deveria estar no web.xml ?

# &lt;application&gt;  
#         &lt;variable-resolver&gt;  
#             org.springframework.web.jsf.DelegatingVariableResolver  
#         &lt;/variable-resolver&gt;  
#     &lt;/application&gt;
rodrigovfsilva

Pelo que eu tenho lido e testado, fica realmente no faces-config.xml .

Neto.Sabio

tem razao. realmente eu estava confundindo.

tenta colocar isso dentro do aplication tb

<view-handler>com.sun.facelets.FaceletViewHandler</view-handler>

A proposito , qual aplicartion server que voce esta usando ?

rodrigovfsilva

JBOSS 4.2.0 GA

Neto.Sabio

funcionou com a tag que colocou dentro do aplication ?

rodrigovfsilva

Não funcionou!!!
Estranho né?!

Neto.Sabio

cara muito estranho. tem como me enviar esse projeto ?

assim eu vejo todas as possibilidades

pace!!!

Criado 23 de setembro de 2008
Ultima resposta 25 de set. de 2008
Respostas 8
Participantes 2