Verificar se a página está carregada? ( estou usando: JSF 2.0 + JPA 2 + PrimeFaces + Netbeans 7.0.1 + Glassfish)

24/10/2011

0

Boa tarde pessoal,

Gostaria de saber se o código abaixo está correto e se é assim que devemos fazer para verificar se a página está carregada:
public String chamaHome(){  
    FacesContext context = FacesContext.getCurrentInstance();  
    String obtemIdPaginaAtual = context.getViewRoot().getViewId();    
    boolean isLoadPaginaAtual = obtemIdPaginaAtual.lastIndexOf(home.xhtml) > -1;   
      
    if (!isLoadPaginaAtual){  
        return /home.xhtml;  
    } else{  
        return null;  
    }  
} 


Bom, eu fiz esse código acima porque no código abaixo, em um determinado ponto de minha aplicação ao chamar a página, dava o seguinte erro:

/resources/templates/MenuPrincipal/home.xhtml Not Found in ExternalContext as a Resource


Antes o método era assim (de acordo com as aulas do Dyego):
public String chamaHome(){  
        return /home.xhtml;  
    }  
}  


Está certo o que eu fiz pessoal ? é a maneira melhor de se fazer isso?

abs
Hugo

Hugo

Responder

Posts

24/10/2011

Robson Teixeira

Poderia postar o erro do stackTrace todo obrigado.
Responder

25/10/2011

Hugo

Poderia postar o erro do stackTrace todo obrigado.

Olá Robson,

Segue o meu stacktrace:

com.sun.faces.context.FacesFileNotFoundException: /resources/templates/MenuPrincipal/home.xhtml Not Found in ExternalContext as a Resource
	at com.sun.faces.facelets.impl.DefaultFaceletFactory.resolveURL(DefaultFaceletFactory.java:232)
	at com.sun.faces.facelets.impl.DefaultFaceletFactory.resolveURL(DefaultFaceletFactory.java:273)
	at com.sun.faces.facelets.impl.DefaultFaceletFactory.getMetadataFacelet(DefaultFaceletFactory.java:209)
	at com.sun.faces.application.view.ViewMetadataImpl.createMetadataView(ViewMetadataImpl.java:114)
	at com.sun.faces.lifecycle.RestoreViewPhase.execute(RestoreViewPhase.java:233)
	at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
	at com.sun.faces.lifecycle.RestoreViewPhase.doPhase(RestoreViewPhase.java:116)
	at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
	at javax.faces.webapp.FacesServlet.service(FacesServlet.java:593)
	at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1539)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:281)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
	at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655)
	at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595)
	at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:98)
	at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:91)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:162)
	at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:330)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:231)
	at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:174)
	at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:828)
	at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:725)
	at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1019)
	at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:225)
	at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
	at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
	at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
	at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
	at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
	at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
	at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
	at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
	at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
	at java.lang.Thread.run(Unknown Source)

Responder

25/10/2011

Luciano Martins

amigo, pesquise sobre SPRING SECURITY vai te ajudar em muitas coisas pra controlar ás views do seu sistema, ok?
Responder

26/10/2011

Robson Teixeira

A pagina pedida esta no diretorio que você informa ao JSF???
Responder

26/10/2011

Hugo

amigo, pesquise sobre SPRING SECURITY vai te ajudar em muitas coisas pra controlar ás views do seu sistema, ok?

Opa, valeu demais pela dica Luxu, vou pesquisar sobre isso.

Sds,
Responder

26/10/2011

Hugo

A pagina pedida esta no diretorio que você informa ao JSF???


Boa noite Robson,

Sim, está sim, a página HOME.xhtml, está na pasta raiz.

Responder

28/10/2011

Robson Teixeira

na raiz vc diz dentro desse diretorio da sua app /resources/templates/MenuPrincipal/???
Responder

28/10/2011

Hugo

na raiz vc diz dentro desse diretorio da sua app /resources/templates/MenuPrincipal/???


A home.xhtml está na pasta raiz do projeto, ou seja, /home.xhtml

A pasta /resources/templates/MenuPrincipal/ que você cita, é onde está o menu principal que contém um link, que ao ser clicado deveria redirecionar para a página /home.xhtml na raiz, entendeu?


abraços
Responder

09/11/2011

Dyego Carmo

No Jquery tem o .document.ready() ou .ready() , ajuda pacas nestas horas :)
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar