erro: Não foi possível encontrar um caso de navegação correspondente na ID de exibição ../admin/main.xhtml - JSF 2.0

Java

20/10/2011

Olá Pessoal,

Estou usando Netbeans 7.0.1 + JPA 2.0 + JSF 2.0.

Como o JSF 2.0 como padrão não exige o faces-config.xml, estou executando o meu bean através de um botão, para chamar uma página (main.xhtml), que está dentro de um diretório chamando ADMIN. O problema é que está dando o seguinte erro:
Não foi possível encontrar um caso de navegação correspondente na ID de exibição ../admin/main.xhtml
ou seja, o sistema não está encontrando a página.

Algum colega pode me ajudar nesta questão???

Abraços

AdminLoginFace.java
@Named
@SessionScoped
public class AdminLoginFace extends BaseCDIBean {

    private static final long serialVersionUID = 1L;
    @NotNull(message = O campo login não pode ser nulo)
    private String login;
    @NotNull(message=O campo password não pode ser nulo!)
    @Min(value = 5, message = The password need higher than three letters)
    private String password;
    private boolean adminUserLogged = false;

    public String doLogin() {
        if (getLogin().equalsIgnoreCase(dyego) && getPassword().equals(12345)) {
            adminUserLogged = true;
        } else {
            adminUserLogged = false;
        }

        if (isAdminUserLogged()) {
            return ../adm/main.xhtml;
        } else {
           
           return loginerr.xhtml;
           
        }
    }

    public String getLogin() {
        return login;
    }

    public void setLogin(String login) {
        this.login = login;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public boolean isAdminUserLogged() {
        return adminUserLogged;
    }
    
}
Hugo

Hugo

Curtidas 0

Respostas

Hugo

Hugo

20/10/2011

Só para salientar, no método isAdminUserLogged(), o trecho
if (isAdminUserLogged()) {
return ../adm/main.xhtml;
} else {
return loginerr.xhtml;
}


está devidamente entre aspas. É que na hora de copiar o trecho para essa minha questão, as aspas duplas não apareceram.

Aguardo a resposta dos colegas.
GOSTEI 0
Robson Teixeira

Robson Teixeira

20/10/2011

pode parecer boba a pergunta mas a pagina esta no diretorio informado na sua String que é ../admin/main.xhtml e tambem verifique se essa String esta de acordo com o mapeamento do FacesServlet.

att
robson
GOSTEI 0
Hugo

Hugo

20/10/2011

pode parecer boba a pergunta mas a pagina esta no diretorio informado na sua String que é ../admin/main.xhtml e tambem verifique se essa String esta de acordo com o mapeamento do FacesServlet.

att
robson


Olá Robson tudo bem contigo?!

Respondendo a tua questão, a página está sim no diretório informado. Para melhor elucidação, veja abaixo o meu web.xml e também a página main.xhtml:

Web.xml
<?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>/faces/*</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>*.jsf</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>*.faces</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>*.xhtml</url-pattern>
    </servlet-mapping>    
    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>
    <welcome-file-list>
        <welcome-file>index.xhtml</welcome-file>
    </welcome-file-list>
</web-app>


main.xhtml
<?xml version=1.0 encoding=UTF-8 ?>
<!DOCTYPE composition PUBLIC -//W3C//DTD XHTML 1.0 Transitional//EN http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd>
<ui:composition xmlns:ui=http://java.sun.com/jsf/facelets
                template=./resources/templates/MenuPrincipal/menuPrincipalTpl.xhtml>

    <ui:define name=title>
        title
    </ui:define>

    <ui:define name=content>
        content
    </ui:define>

</ui:composition>

GOSTEI 0
Hugo

Hugo

20/10/2011

Robson,

Descobri o problema graças a Deus....rs

Era a questão do mapeamento (path) do documento modelo (template), ou seja, tinha que estar assim no main.xhtml:
./../resources/templates/MenuPrincipal/menuPrincipalTpl.xhtml
.

Muito obrigado mesmo por me atender.


Forte abraço
GOSTEI 0
Dyego Carmo

Dyego Carmo

20/10/2011

Opa !

Conseguiu resolver ?

Se sim... por favor feche o chamado :)

Valeu !
GOSTEI 0
Hugo

Hugo

20/10/2011

Opa !

Conseguiu resolver ?

Se sim... por favor feche o chamado :)

Valeu !


Ola Dyego,

Por gentileza, esqueci de como fazer para fechar o tópico, me oriente por favor ok?!
GOSTEI 0
POSTAR