Problema com JSF 1.1

12/07/2011

0

Olá Pessoa to com um problema numa aplicação aqui no lugar onde trabalho que usa JSF 1.1 ,tomahawk 1.1 e hibernate. o problema é na minha pagina onde possui um componente que gera uma arvore com o nome das unidades onde trabalho (segue o codigo abaixo) funciona corretamente no 1º submit feito por um commandButton e na 2º vez o submit é feito porem a aplicação não executa o metodo informado no commandButton e na 3º vez volta a funciona corretamente.
Também eu usei um phaseListener e o configurei para mostrar cada fase do ciclo de vida do JSF que é executado para ter melhor ideia do erro e notei que na 1º vez e executado todas as fases e na 2º vez parece ter ocorrido um erro de RESTORE_VIEW que é a 1º fase encaminhado diretamente para a ultima fase de RENDER_RESPONSE. <t:tree2 value="#{act.arvoreDeUnidades}" id="unidadesNames" showRootNode="false" var="node" varNodeToggler="t"> <f:facet name="raiz"> <h:outputText value="#{node.description}" styleClass="formatTexto"/> <f:facet name="expand"> </f:facet> <f:facet name="collapse"> </f:facet> </f:facet> <f:facet name="unidade"> <h:panelGroup> <h:outputLink value="#" onclick="preencheCampo('#{node.description}');"> <h:outputText value="#{node.description}"/> </h:outputLink> <f:facet name="expand"> <t:graphicImage value="/Web/GRH/imagens/unidade.bmp" rendered="#{t.nodeExpanded}" border="0" /> </f:facet> <f:facet name="collapse"> <t:graphicImage value="/Web/GRH/imagens/unidade.bmp" rendered="#{!t.nodeExpanded}" border="0" /> </f:facet> </h:panelGroup> </f:facet> </t:tree2>     <h:outputText value="Unidade Selecionada:#{act.siglaUnidadeSelecionada}" styleClass="formatTexto"/> <h:inputText id="unidadeSelecionada" value="#{act.siglaUnidadeSelecionada}" styleClass="campoTexto" /> <h:commandButton styleClass="botoes" value="ok" id="pesquisaUnidade" onclick="teste();" action="#{act.buscarMembrosDaUnidade}"/> segue o javascript   function preencheCampo(unidadeSigla){ document.getElementById('exercerFuncaoForm:unidadeSelecionada').value=unidadeSigla; } alguém ja passou por isso ou algo parecido??????
caso tenha ficado duvida eu explico melhor sem problemas.   att  robson  
Robson Teixeira

Robson Teixeira

Responder

Posts

12/07/2011

Davi Costa

Talvez vc precise limpar a arvore de componentes, add esse método no seu Bean:

public void refresh() {
        FacesContext context = FacesContext.getCurrentInstance();
        Application application = context.getApplication();
        ViewHandler viewHandler = application.getViewHandler();

        UIViewRoot viewRoot = viewHandler.createView(context, context
         .getViewRoot().getViewId());
        context.setViewRoot(viewRoot);
        //context.renderResponse(); Optional
    }

e execute ele na última linha da ação do seu botão.
refresh();

Dá uma olhada nesse link:

http://wiki.apache.org/myfaces/ClearInputComponents


att Davi
Responder

16/07/2011

Dyego Carmo

Corra o mais rapido que puder do jsf 1.x, troque para o 2 e use o set de componentes primefaces.
Responder

17/07/2011

Robson Teixeira

Dyego se eu pude-se eu corria mas o projeto ja está todo estruturado no jsf 1.1 e infelizmente não da para correr.

e davi você tem outra ideia pois não funcionou a que você deu e acrescentando (o pior ) testei a pagina com a managedBean em session e so funciona a 1º vez e na 2º nem limpa a pagina fica como posso dizer no browser no mostra o resultado da 1º vez e nem renderiza fica o mesmo resultado e as mesmas coisas.

gente alguma ideia!!!!


att
 robson
Responder

26/07/2011

Dyego Carmo

Qual o escopo deste bean ?

Responder

04/08/2011

Robson Teixeira

request
Responder

05/08/2011

Dyego Carmo

Troque para sessão e teste.

Responder

05/08/2011

Robson Teixeira

Em sessao fica pior pois na 1º vez funciona e mostra o resultado se eu tentar a 2º a pagina mantem os resultados da 1º vez quando renderizar e se tentar a 3º vez continua mantendo os resultados da 1º vez. att robson
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