Erro JSF

6 respostas
J

Oi

estou estudando JSF e não estou conseguindo descobrir como resolver o erro...

peguei um tutorial na net, e fui fazer....mas olha o erro que está dando..

SEVERE: Parse Error at line 1 column 14: /WEB-INF/faces-config.xml<Line 1, Column 14>: XML-20149: (Erro) Elemento 'faces-config' usado mas não declarado.
org.xml.sax.SAXParseException: /WEB-INF/faces-config.xml<Line 1, Column 14>: XML-20149: (Erro) Elemento 'faces-config' usado mas não declarado.
	at oracle.xml.parser.v2.XMLError.flushErrorHandler(XMLError.java:415)
	at oracle.xml.parser.v2.XMLError.flushErrors1(XMLError.java:284)
	at oracle.xml.parser.v2.NonValidatingParser.parseDocument(NonValidatingParser.java:312)
13/05/2009 12:15:29 org.apache.commons.digester.Digester error
SEVERE: Parse Error at line 2 column 18: /WEB-INF/faces-config.xml<Line 2, Column 18>: XML-20149: (Erro) Elemento 'managed-bean' usado mas não declarado.
org.xml.sax.SAXParseException: /WEB-INF/faces-config.xml<Line 2, Column 18>: XML-20149: (Erro) Elemento 'managed-bean' usado mas não declarado.
	at oracle.xml.parser.v2.XMLError.flushErrorHandler(XMLError.java:415)
	at oracle.xml.parser.v2.XMLError.flushErrors1(XMLError.java:284)
	at oracle.xml.parser.v2.NonValidatingParser.parseDocument(NonValidatingParser.java:312)

13/05/2009 12:15:29 org.apache.commons.digester.Digester error
SEVERE: Parse Error at line 3 column 24: /WEB-INF/faces-config.xml<Line 3, Column 24>: XML-20149: (Erro) Elemento 'managed-bean-name' usado mas não declarado.
org.xml.sax.SAXParseException: /WEB-INF/faces-config.xml<Line 3, Column 24>: XML-20149: (Erro) Elemento 'managed-bean-name' usado mas não declarado.
	at oracle.xml.parser.v2.XMLError.flushErrorHandler(XMLError.java:415)
	at oracle.xml.parser.v2.XMLError.flushErrors1(XMLError.java:284)
	at oracle.xml.parser.v2.NonValidatingParser.parseDocument(NonValidatingParser.java:312)

pelo que entendi é como se não estivesse lendo corretamente meu faces-config.xml.

Olha meu arquivo faces-config.xml

<faces-config>
    <managed-bean>
	    <managed-bean-name>gerenciadorContato</managed-bean-name>
	    <managed-bean-class>GerenciadorContato</managed-bean-class>
	    <managed-bean-scope>session</managed-bean-scope>
    </managed-bean>
    <navigation-rule>
	<from-view-id>*</from-view-id>
	<navigation-case>
	    <from-outcome>incluir</from-outcome>
	    <to-view-id>/incluir.jsp</to-view-id>
	</navigation-case>
	<navigation-case>
	    <from-outcome>consultar</from-outcome>
	    <to-view-id>/consultar.jsp</to-view-id>
	</navigation-case>
    </navigation-rule>
</faces-config>

Alguem sabe me ajudar a resolver esse erro? Ou já passou por uma situação semelhante e pode me dar uma luz?

Na JSP aparece o erro 500 e mais nada.

vlw

6 Respostas

R

substitua

por

&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt; &lt;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"&gt;

isso se vc estiver usando JSF 1.2

J

Continua o mesmo erro =/

R

Qual a versão do JSF vc está usando? qual implementação? (mojarra ou myfaces?)
está testando em qual servidor de aplicação? com qual IDE?
como você configurou o JSF no web.xml?
onde estão as libs do JSF? em qual diretório?

Coloca ai as informações relevantes

J

JSF 1.2
implementação myfaces
as libs estão dentro de web-inf/lib

olha meu xml
<?xml version = '1.0' encoding = 'windows-1252'?>
<web-app id="WebApp_ID">
    <description>Agenda</description>
    <filter>
      <filter-name>extensionsFilter</filter-name>
      <filter-class>
         org.apache.myfaces.component.html.util.ExtensionsFilter
      </filter-class>
   </filter>
   <filter-mapping>
      <filter-name>extensionsFilter</filter-name>
      <url-pattern>*.faces</url-pattern>
   </filter-mapping>
   <filter-mapping>
      <filter-name>extensionsFilter</filter-name>
      <url-pattern>/faces/*</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>/faces/*</url-pattern>
    </servlet-mapping>
    <session-config>
	<session-timeout>35</session-timeout>
    </session-config>
    <mime-mapping>
	<extension>html</extension>
	<mime-type>text/html</mime-type>
    </mime-mapping>
    <mime-mapping>
	<extension>txt</extension>
	<mime-type>text/plain</mime-type>
    </mime-mapping>
</web-app>
rogeriuslima

Vc disse que tá usando o myfaces, porém declarou no web.xml o servlet do mojarra.
A declaração do servlet jsf do myfaces deveria ser mais ou menos assim:

<servlet>
		<servlet-name>Faces Servlet</servlet-name>
		<servlet-class>
			org.apache.myfaces.webapp.MyFacesServlet
		</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>
rogeriuslima

Mais uma coisa, esses arquivos xml tem um cabeçalho que vc deve colocar no inicio. Não sei se vc apenas omitiu eles mas de qualquer forma fica assim:

// faces-config.xml

<?xml version='1.0' encoding='UTF-8'?>
<faces-config xmlns="http://java.sun.com/xml/ns/javaee"
              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"
              version="1.2">
// web.xml

<?xml version='1.0' encoding='UTF-8'?>
<web-app version="2.5"
         xmlns="http://java.sun.com/xml/ns/javaee"
         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-app_2_5.xsd">

Se vc estiver usando alguma ide, isso é criado automaticamente.
Se não, pega alguma aplicação de exemplo e copia estes arquivos alterando só oque vc precisa.

Criado 13 de maio de 2009
Ultima resposta 14 de mai. de 2009
Respostas 6
Participantes 3