Duvida primaria com xhtml ;|

Pessoal, fiz um projeto novo e criei uma pag web xhtml chamado “index”.

Dentro dela coloquei um teste :

<?xml version='1.0' encoding='UTF-8' ?>
<!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">
    <h:head>
        <title>Facelet Title</title>
    </h:head>
    <h:body>
        Hello from Facelets
    </h:body>
</html>

No Redirect.jsp coloquei

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<% response.sendRedirect("index.xhtml"); %>

Quando executo o projeto ele abre o IE com o modo “salvar o arquivo index.xhtml”…

Ele não deveria abrir uma pagina hello world ?

Obrigado!

o negócio eh o seguinte: quando vc cria um projeto JSF, lá no web.xml fica configurado alguns padrões de extensões para as páginas. os padrões que são criados na hora que vc cria o projeto são: /faces/*, *.jsf, *.faces, ou seja, para chamar qualquer página .xhtml, tem que chamar com uma das extensões acima. abra o teu web.xml e veja as tags . é nessa tag que ficam os padrões de extensões para as páginas.
bom, assumindo que no teu web.xml deve ter os padrões que eu falei acima, vc chamaria a página assim:

<% response.sendRedirect("faces/index.xhtml"); %>

ou

<% response.sendRedirect("index.jsf"); %>

ou

<% response.sendRedirect("index.faces"); %>

sem contar que vc pode la no web.xml definir qualquer outro padrão que vc queira, basta acrescentar uma nova , assim:

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

Vai depender de como está mapeado seu servlet do jsf. Veja a configração no web.xml.
Caso esteja com o /faces/* (que é o um dos padrões):

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

você tem que colocar:

<% response.sendRedirect("/faces/index.xhtml"); %> 

O ronnytds disse tudo.

esta como voce falou “/faces/*” , veja abaixo:


<?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">
    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/applicationContext.xml</param-value>
    </context-param>
    <context-param>
        <param-name>javax.faces.PROJECT_STAGE</param-name>
        <param-value>Development</param-value>
    </context-param>
    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>
    <servlet>
        <servlet-name>dispatcher</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <load-on-startup>2</load-on-startup>
    </servlet>
    <servlet>
        <servlet-name>Faces Servlet</servlet-name>
        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet>
        <servlet-name>action</servlet-name>
        <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
        <init-param>
            <param-name>config</param-name>
            <param-value>/WEB-INF/struts-config.xml</param-value>
        </init-param>
        <init-param>
            <param-name>debug</param-name>
            <param-value>2</param-value>
        </init-param>
        <init-param>
            <param-name>detail</param-name>
            <param-value>2</param-value>
        </init-param>
        <load-on-startup>2</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>dispatcher</servlet-name>
        <url-pattern>*.htm</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>/faces/*</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>action</servlet-name>
        <url-pattern>*.do</url-pattern>
    </servlet-mapping>
    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>
    <welcome-file-list>
        <welcome-file>faces/redirect.jsp</welcome-file>
    </welcome-file-list>
</web-app>

redirect.jsp

<%--
Views should be stored under the WEB-INF folder so that
they are not accessible except through controller process.

This JSP is here to provide a redirect to the dispatcher
servlet but should be the only JSP outside of WEB-INF.
--%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<% response.sendRedirect("/faces/teste.xhtml"); %>

teste.xhtml

[code]<?xml version='1.0' encoding='UTF-8' ?>

Facelet Title Hello from Facelets

[/code]

Msm assim esta abrindo no modo “salvar” arquivo…

;/

Como está o diretóroio dessa página? Lembrando desse jeito ela tem que ficar no diretório raiz.

esta dentro do diretorio ( pasta ) “Web” do projeto…

conversei com um colega e ele disse que pode ser o tomcat… pois ele salva por padrão todas as extensões que nao reconhece…

tem que configurar ele parece…

vou tentar… mas se alguem puder me ajudar a resolver eu agradeço ;/

Obrigado

estranho…eu salvei o arquivo só para ver… ( na area de trabalho )

Fui executar ele com o IE e ele pediu pra salvar novamente…

to achando que é o IE…

vou instalar mozila

shazam !

Era o IE … instalei o mozila e deixei ele como padrão…

Ele esta abrindo normalmente o arquivo…

O IE 8 não reconhece xhtml?

Obrigado

É realmente dificil de entender esse Java…
Eu estou tentando aprender baseado em tutoriais e sempre tem alguma coisa que empaca…

Agora ele reconhece o html pelo mozzila mas não mostra nada do que eu programei…

fiz isto no arquivo principal xhtml :

[code]<?xml version='1.0' encoding='UTF-8' ?>

Trabalhando com Prime Faces [/code]

E não mostra nada na tela…esta em branco… estou errando algo ?

valeu

Tem algum erro no console do servidor?

Outra coisa, nesse caso do xhtml, você não pode simplesmente salvar ele e tentar abrir com o navegador. Pois ele necessita de um servidor para que seja interpretado e até mesmo reconhecido o jsf.

ayslanms, nao tem erro nenhum

Quando tentei novamente hoje deu não apareceu mais o “salvar”, porem a pagina diz “Navegação Cancelada”
“A navegação para a página da Web foi cancelada”

Não sei o por que…

=/

O coisinha complicada…