Verificar se a página está carregada? ( estou usando: JSF 2.0 + JPA 2 + PrimeFaces + Netbeans 7.0.1 + Glassfish)
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:
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):
Está certo o que eu fiz pessoal ? é a maneira melhor de se fazer isso?
abs
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
Curtidas 0
Respostas
Robson Teixeira
24/10/2011
Poderia postar o erro do stackTrace todo obrigado.
GOSTEI 0
Hugo
24/10/2011
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)
GOSTEI 0
Luciano Martins
24/10/2011
amigo, pesquise sobre SPRING SECURITY vai te ajudar em muitas coisas pra controlar ás views do seu sistema, ok?
GOSTEI 0
Robson Teixeira
24/10/2011
A pagina pedida esta no diretorio que você informa ao JSF???
GOSTEI 0
Hugo
24/10/2011
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,
GOSTEI 0
Hugo
24/10/2011
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.
GOSTEI 0
Robson Teixeira
24/10/2011
na raiz vc diz dentro desse diretorio da sua app /resources/templates/MenuPrincipal/???
GOSTEI 0
Hugo
24/10/2011
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
GOSTEI 0
Dyego Carmo
24/10/2011
No Jquery tem o .document.ready() ou .ready() , ajuda pacas nestas horas :)
GOSTEI 0