PASSO ANTERIOR (PASSO 4).Se voce chegou ate aqui, parabens! Ja leu muita coisa e ja escreveu (ou copiou...) muitas linhas de codigo, mas o importante nao e escrever com os proprios dedos, mas sim saber o que aquele trecho de codigo sgnifica, o que ele faz, como ele se comporta, etc.Apenas recapitulando um pouco:Criamos um Bean (testeBean.java) que tem um metodo testar(), este metodo faz uma verificacao e retorna falhou caso nao tenha sido digitado nada na tela, ou retorna sucesso caso os dois campos tenham sido populados pelo usuario. Criamos tambem uma pagina de menu (menu.jsp) que tem um botao que direciona para cadastro. Criamos uma pagina de cadastro (inicio.jsp), esta pagina tem alguns campos que fazem referencia a teste. Criamos uma pagina sucesso.jsp que tem um botao enviando para inicio e uma pagina falha.jsp com um botao direcionando para cadastro.Ao longo deste projeto, criamos diversas paginas, todas apontando para algum apelido, para algum lugar imaginario que nao existe. Todos estes apelidos sao configurados no arquivo de configuracao FACES-CONFIG.XML, e sobre este arquivo que iremos falar agora!Faces-config, o coracao do projeto JSF, o arquivo que faz todas as paginas se conectarem, se conhecerem, pode ser considerado tambem o orkut de uma aplicacao JSF...Este faces-config e um arquivinho xml qualquer, com algumas tags especiais que fazem o servidor encontrar todos os apelidos que distribuimos em nossas paginas.Ja criamos o arquivo nos passos anteriores, vamos entao enfiar codigos nele!Abra o arquivo faces-config.xml e insira as seguintes linhas de codigo: <?xml version=1.0?><!DOCTYPE faces-config PUBLIC-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//ENhttp://java.sun.com/dtd/web-facesconfig_1_1.dtd><faces-config><! ################### NAVIGATION ###################><navigation-rule><from-view-id>*</from-view-id><navigation-case><from-outcome>cadastro</from-outcome><to-view-id>/pages/inicio.jsf</to-view-id></navigation-case><navigation-case><from-outcome>falhou</from-outcome><to-view-id>/pages/falha.jsf</to-view-id></navigation-case><navigation-case><from-outcome>sucesso</from-outcome><to-view-id>/pages/sucesso.jsf</to-view-id></navigation-case><navigation-case><from-outcome>inicio</from-outcome><to-view-id>/pages/menu.jsf</to-view-id></navigation-case></navigation-rule><! ################### MANAGED-BEAN ###################><managed-bean><managed-bean-name>teste</managed-bean-name><managed-bean-class>br.com.projetox.view.bean.testeBean</managed-bean-class><managed-bean-scope>session</managed-bean-scope></managed-bean></faces-config>Agora o que interessa, a explicacao!As primeiras linhas:<?xml version=1.0?><!DOCTYPE faces-config PUBLIC-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//ENhttp://java.sun.com/dtd/web-facesconfig_1_1.dtd> indicam que tipo de arquivo e este, sao tags padroes que devem estar no cabecalho de cada arquivo XML, dependendo da funcionalidade do arquivo as propriedades destas tags mudam um pouco, estas indicam que o arquivo e um faces-config.As tags <faces-config></faces-config> presentes no inicio e no fim do arquivo indicam o comeco e o fim dos comandos de configuracao. Assim como em JavaScript todos os comandos devem ser scritos dentro das tags <script> e </scritp>, todos os comandos de configuracao do faces-config devem ser escritos entre as tags <faces-config></faces-config>, se voce escrever alguma coisa fora nao vai conseguir nem acessar a aplicacao...<navigation-rule> e</navigation-rule> Regras de navegacao.Dentro destas tags indicaremos todas as nossas regras de navegacao, mas o que seria uma regra de navegacao? Seria basicamente informar: saindo do jsp X, vai para o jsp Y. Vamos ver com mais detalhes nas tags que estao dentro das navigation-rules.<from-view-id>*</from-view-id>Aqui estamos informando saindo da jsp X..., neste caso nao temos uma regra especifica, apenas informamos *, ou seja, qualquer pagina. Isso significa que nao importa de onde venha a solicitacao sempre tera o o destino, entao a nossa frase ficaria mais ou menos assim: Saindo de qualquer lugar, vai para o jsp Y ...<navigation-case><from-outcome>cadastro</from-outcome><to-view-id>/pages/inicio.jsf</to-view-id></navigation-case> Estas tags indicam o destino, o vai para o jsp Y e aqui definimos os apelidos dos destinos.Todos os mapeamentos de destinos devem estar entre as tags <navigation-case> e </navigation-case>.A tag