Boa noite tem algo que eu sempre quis saber o motivo e nunca descobri.
Porque welcome-file
do arquivo web.xml só aceita arquivo do tipo jsp e não xhtml
Meu prjeto e JSF+facelets com Jboss Tools no eclipse
Boa noite tem algo que eu sempre quis saber o motivo e nunca descobri.
Porque welcome-file
do arquivo web.xml só aceita arquivo do tipo jsp e não xhtml
Meu prjeto e JSF+facelets com Jboss Tools no eclipse
Que eu saiba, o web.xml nao tem limitacao quanto ao tipo de arquivo do welcome-file-list.
A questao é que, quando voce usa JSF + Facelets, como voce disse, voce deve mapear o JSF+Facelets para usarem o .xhtml.
Dai voce pode mapear o xhtml no welcome-file-list. Senao, nao adianta de nada. Provavelmente é seu mapeamento dos frameworks que está errado. Dá mais uma olhadinha nisso, usa exemplos da internet e veja se descobre o que tem de errado.
Aceita o xhtml de maneira normal.
A maior prova disso é que no jsf 2.0 o padrão já é o xhtml, inclusive as páginas iniciais.
Obrigado pelas resposta so que meu projeto e jsf1.2
sobre esta co prolema meu projeto na minha pagina jsp tem o seguinte codigo e funciona certinho
index.jsp
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head></head>
<body>
<jsp:forward page="/pages/inputname.jsf" />
</body>
</html>
web.xml
<?xml version="1.0"?>
<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">
<description>Facelets StarterKit</description>
<display-name>teste</display-name>
<context-param>
<param-name>javax.faces.DEFAULT_SUFFIX</param-name>
<param-value>.xhtml</param-value>
</context-param>
<context-param>
<param-name>facelets.REFRESH_PERIOD</param-name>
<param-value>2</param-value>
</context-param>
<context-param>
<param-name>facelets.DEVELOPMENT</param-name>
<param-value>true</param-value>
</context-param>
<context-param>
<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
<param-value>client</param-value>
</context-param>
<context-param>
<param-name>com.sun.faces.validateXml</param-name>
<param-value>true</param-value>
</context-param>
<context-param>
<param-name>com.sun.faces.verifyObjects</param-name>
<param-value>true</param-value>
</context-param>
<context-param>
<param-name>facelets.SKIP_COMMENTS</param-name>
<param-value>true</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>
<welcome-file-list>
<welcome-file>/index.jsp</welcome-file>
</welcome-file-list>
<login-config>
<auth-method>BASIC</auth-method>
</login-config>
</web-app>
faces-config
<?xml version="1.0" encoding="UTF-8"?>
<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">
<managed-bean>
<managed-bean-name>person</managed-bean-name>
<managed-bean-class>demo.Person</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
<managed-property>
<property-name>name</property-name>
<value/>
</managed-property>
</managed-bean>
<navigation-rule>
<from-view-id>/pages/inputname.xhtml</from-view-id>
<navigation-case>
<from-outcome>greeting</from-outcome>
<to-view-id>/pages/greeting.xhtml</to-view-id>
</navigation-case>
</navigation-rule>
<application>
<view-handler>com.sun.facelets.FaceletViewHandler</view-handler>
<locale-config/>
</application>
<factory/>
<lifecycle/>
</faces-config>
detalhe seu eu mudo o welcome-file para uma pagina tipo
<welcome-file-list>
<welcome-file>/pages/inputname.xhtml</welcome-file>
</welcome-file-list>
ao acessar o dominio ele abre a janela de download do arquivo ate ai tudo certo pois especifiquei q vou usar ao inves de xhtml jsf
so que se eu mudar para
<welcome-file-list>
<welcome-file>/pages/inputname.jsf</welcome-file>
</welcome-file-list>
da erro de 404
nesse caso vc terá que adicionar as libs para o faclet e jstl.
Já que no jsf 1.2 eles não são nativos
ja adicionei, o projeto esta funcionando perfeitamente o unico problema e o welcome-file
leonardobhbr, pelo que entendi, você tem páginas e jsp e xhtml no mesmo projeto, certo? então você deve estar fazendo alguma confunsão em usar JSF + JSP ou JSF + faceletes, porque se eu o seu projeto foi configurado para usar xhtml não tem porque ter páginas em JSP
Obrigado pela resposta sobre a pagina JSP esse projeto foi criado automaticamente pelo plugin Jboss Tools no eclipse
ele ja criou os beans e as paginas de exemplo o interessante e que ele cria um arquivo jsp so para redirecionar para pagina xhtml e como eu disse se tentar configurar o ]welcome-file
para um arquivo xhtml da erro 404
Ok leonardobhbr, me parece estranho ter arquivos XHTML e JSP no mesmo projeto, mas já que funciona então tudo bem.
Voltando a sua dúvida, acho que o que está acontecendo é o seguinte: Se você colocar o index.jsp no welcome-file funciona porque nesta página não tem código JSF, certo? E como nas páginas XHTML existem código JSF, então dá erro.
Resumindo: Se vc tem código JSF ná página inicial então ela deve ser especificada no welcome-file com a mesma extensão configurada no servlet-mapping que no seu caso é .jsf. Caso contrário deve-se colocar a extensão original da página, jsp ou xhtml, por exemplo.
[quote=marcos1EM]Ok leonardobhbr, me parece estranho ter arquivos XHTML e JSP no mesmo projeto, mas já que funciona então tudo bem.
Voltando a sua dúvida, acho que o que está acontecendo é o seguinte: Se você colocar o index.jsp no welcome-file funciona porque nesta página não tem código JSF, certo? E como nas páginas XHTML existem código JSF, então dá erro.
Resumindo: Se vc tem código JSF ná página inicial então ela deve ser especificada no welcome-file com a mesma extensão configurada no servlet-mapping que no seu caso é .jsf. Caso contrário deve-se colocar a extensão original da página, jsp ou xhtml, por exemplo.
[/quote]
Concordo plenamente com vc so q quando eu coloco a pagina.xhtml ele abre a tela de download como eu disse antes, tudo bem concordo q o procedimento parece certo ja que especifiquei no filter que seria jsf.
So que quando eu coloco pagina.jsf da error 404
Também estou com o mesmo problema… Se alguém puder ajudar… manda ae…
Olá,
Na verdade o problema não é com o JSF. A questão é que o welcome-file não aceita mapeamento de servlet, só caminho de arquivo mesmo (HTML ou JSP).
Tem dois jeitos de contornar: montar a página inicial em JSP mesmo ou (aviso: gambiarra à frente) colocar como welcome-file um HTML que redireciona para a página principal de verdade (JSF) através daquelas diretivas “META Refresh”.
cara… tive um problema desse de toda vez que rodasse determinada página ele abria a janela de download. Resolvi da seguinte forma usando o eclipse:
Clicar com o botão direito no projeto => Properties => Project Facets => marque o JavaServer Faces…
no meu caso era isso que acontecia quando o projeto nao estava habilitado para jsf.