Duvida ao carregar index.xhtml no JSF 2.0 automaticamente

9 respostas
P

Olá,

uma duvida como faço pra carregar a pagina index.xhtml ao digitar
http://localhost:8080/ProjetoJSF sem precisar digitar index.jsf

Se alguém puder me ajudar e me informar o que estou fazendo de errado.

abs

index.xhtml

<?xml version="1.0"  ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:f="http://java.sun.com/jsf/core" 
>
<h:head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Gerenciador Financeiro Pessoal</title>
</h:head>
<h:body>
   <h1>Gerenciador Financeiro Pessoal</h1>
   <h:form>
     <h:commandLink action="#{usuarioBean.novo}">Novo Usuário</h:commandLink>
    
   </h:form>
</h:body>
</html>

web.xml

<display-name>FinanceiroWeb</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>index.jsf</welcome-file>
  </welcome-file-list>
  <servlet>
    <display-name>FacesServlet</display-name>
    <servlet-name>FacesServlet</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>FacesServlet</servlet-name>
    <url-pattern>*.jsf</url-pattern>
  </servlet-mapping>

faces-config.xml

<managed-bean>
		<managed-bean-name>usuarioBean</managed-bean-name>
		<managed-bean-class>financeiro.web.UsuarioBean</managed-bean-class>
		<managed-bean-scope>request</managed-bean-scope>
				
	</managed-bean>

   <navigation-rule>
   
     <from-view-id>*</from-view-id>
     <navigation-case>
       <from-outcome>inicio</from-outcome>
       <to-view-id>index.xhtml</to-view-id>
     </navigation-case>
     <navigation-case>
       <from-outcome>usuario</from-outcome>
       <to-view-id>/usuario.xhtml</to-view-id>
     </navigation-case>
   </navigation-rule>
   
   <navigation-rule>
     <from-view-id>/usuario.xhtml</from-view-id>
     <navigation-case>
       <from-outcome>sucesso</from-outcome>
       <to-view-id>/mostraUsuario.xhtml</to-view-id>
     </navigation-case>
   </navigation-rule>

9 Respostas

otaviojava

Tente deixar somente uma informação na tag weclcome-file no web.xml

<welcome-file-list>
        <welcome-file>index.jsf</welcome-file>
    </welcome-file-list>
P

Obrigado pelo retorno.

Mais mesmo assim está acontecendo a mesma coisa.

Gostaria de digitar somente http://localhost:8080/FinanceiroWeb

e chamar automaticamente a pa´gina index.jsf

O que tenho que fazer ???

abs

&lt;welcome-file&gt;index.jsf&lt;/welcome-file&gt;
  &lt;/welcome-file-list&gt;
  &lt;servlet&gt;
    &lt;display-name&gt;FacesServlet&lt;/display-name&gt;
    &lt;servlet-name&gt;FacesServlet&lt;/servlet-name&gt;
    &lt;servlet-class&gt;javax.faces.webapp.FacesServlet&lt;/servlet-class&gt;
    &lt;load-on-startup&gt;1&lt;/load-on-startup&gt;
  &lt;/servlet&gt;
  &lt;servlet-mapping&gt;
    &lt;servlet-name&gt;FacesServlet&lt;/servlet-name&gt;
    &lt;url-pattern&gt;*.jsf&lt;/url-pattern&gt;
  &lt;/servlet-mapping&gt;
&lt;/web-app&gt;
otaviojava

Tenta esse:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" 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_3_0.xsd">
    <context-param>
        <param-name>javax.faces.PROJECT_STAGE</param-name>
        <param-value>Development</param-value>
    </context-param>
    <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.jsf</welcome-file>
    </welcome-file-list>
</web-app>
xxjamisxx

ir para nao precisar digita faces
eu sempre tento mais nunca funcionar
ser no xml
eu nao coloca

/faces/*

quando tento coloca *.faces
nao da certo
ser saber alguma soluçao otavio??

otaviojava

essa tag é responsável por mapear seu jsf.
eu normalmente coloco com o final jsf dessa forma

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

Mas você pode fazer com o faces
dessa forma.

<servlet-mapping>  
        <servlet-name>Faces Servlet</servlet-name>  
        <url-pattern>*.faces</url-pattern>  
    </servlet-mapping>
N

vc chegou a gerar o arquivo .war?

N

vc poderia gerar um arquivo FinanceiroWeb.war
e chamar sua aplicação assim http://localhost:8080/FinanceiroWeb

P

Obrigado pela ajuda

mais fiz o seguinte copiei a workspace que estava em 64 bits no windows 7 home premium

e copiei para windows vista 32 bits e funcionou normal…

sei lá não da pra entender…

xxjamisxx

otavio eu tentei fazer assim
mais meus faces nao aparecer
as coisa da tags do jsf
so ser eu coloca
desta maneira nao sei pq
/faces/*

Criado 8 de janeiro de 2011
Ultima resposta 8 de jan. de 2011
Respostas 9
Participantes 4