Fiz um teste de aplicação JSF com 2 páginas XHTML, cada uma com um botão apontando pra outra:
Inicio.xhtml
<h:form>
Resposta.xhtml
<h:form>
Porém, não estou entendendo o comportamento, quando clico no botão Acione o botão, a página Resposta.xhtml é aberta corretamente, porém, no link do browser aparece: http://localhost:8080/Navegacao/faces/Inicio.xhtml
Caso você queira que fique sendo o atual, uma das soluções seria utilizar o redirect. Com ele o browser terá o link atualizado.
yorgan
Isso é mais uma, dentre várias outras, que não gosto no JSF.
O lifecycle dele não muda o link do browser.
Mas de qualquer forma, como JSF não trabalha mto bem com navegação por links html, isso é mais uma issue no ponto de vista estético do que funcional.
Resumindo: como a navegação é feita pelos componentes e o lifecycle dele consegue se entender bem com a renderização dos objetos, então o link é o de menos.
Se a sua preocupação é utilizar o sistema fazendo uso de URL’s, recomendo partir para um framework baseado em ações e não um baseado em componentes.
[]'s
Daniel
E
eliflavio
yorgan:
Isso é mais uma, dentre várias outras, que não gosto no JSF.
O lifecycle dele não muda o link do browser.
Mas de qualquer forma, como JSF não trabalha mto bem com navegação por links html, isso é mais uma issue no ponto de vista estético do que funcional.
Resumindo: como a navegação é feita pelos componentes e o lifecycle dele consegue se entender bem com a renderização dos objetos, então o link é o de menos.
Se a sua preocupação é utilizar o sistema fazendo uso de URL’s, recomendo partir para um framework baseado em ações e não um baseado em componentes.
[]'s
Daniel
Atualmente Eu uso EJB no backend com Flex no frontend e estou migrando para JSF. No Flex eu criava uma página só, e ia abrindo e fechando as janela dentro dela, sem precisar ficar recarregando. No JSF é possível ir carregando e destruindo componentes sem ficar recarregando a página?
Eli Flávio Bortolotte
yorgan
Então, como você já programou nos dois, percebeu que Flex e JSF tem características bem diferentes.
Mas o que você pode fazer é utilizar o atributo redenred das tags.
Exemplo:
<!-- primeiro painel --><h:panelGroupredered="seuBean.painelRenderizado == 'PAINEL1'"><h:form><!-- aqui vão os componentes do primeiro panelGroup --></h:form></h:panelGroup><!-- segundo painel --><h:panelGroupredered="seuBean.painelRenderizado == 'PAINEL2'"><h:form><!-- aqui vão os componentes do segundo panelGroup --></h:form></h:panelGroup>
Se você utilizar as tags do a4j e fizer o controle desses painéis, você terá a renderização da tela sem refresh de página.
Lembrando, esse é só uma idéia de como fazer. Existem outras formas, mas daí você adapta essa solução para o seu caso.
Obs: Sempre utilize a tag Code ao inserir código em um post no fórum =).
[]'s
Daniel
E
eliflavio
yorgan:
Então, como você já programou nos dois, percebeu que Flex e JSF tem características bem diferentes.
Mas o que você pode fazer é utilizar o atributo redenred das tags.
Exemplo:
Código no bean:
<!-- primeiro painel --><h:panelGroupredered="seuBean.painelRenderizado == 'PAINEL1'"><h:form><!-- aqui vão os componentes do primeiro panelGroup --></h:form></h:panelGroup><!-- segundo painel --><h:panelGroupredered="seuBean.painelRenderizado == 'PAINEL2'"><h:form><!-- aqui vão os componentes do segundo panelGroup --></h:form></h:panelGroup>
Se você utilizar as tags do a4j e fizer o controle desses painéis, você terá a renderização da tela sem refresh de página.
Lembrando, esse é só uma idéia de como fazer. Existem outras formas, mas daí você adapta essa solução para o seu caso.
Obs: Sempre utilize a tag Code ao inserir código em um post no fórum =).
[]'s
Daniel
Neste exemplo, supondo que inicialmente o Painel1 seja renderizado. Aí o usuário executa alguma ação em que eu queira esconder o Painel1 e exibir o Painel2. É possível fazer isto sem recarregar a página, apenas com chamadas de eventos AJAX?
Eli Flávio Bortolotte
yorgan
Exatamente.
O JSF 2.0 incorporou vários recursos Ajax, então é possível.
Agora, se você estiver usando a versão 1.2, terá que recorrer ao a4j, presente por exemplo no Richfaces.
[]'s
Daniel
E
eliflavio
yorgan:
Exatamente.
O JSF 2.0 incorporou vários recursos Ajax, então é possível.
Agora, se você estiver usando a versão 1.2, terá que recorrer ao a4j, presente por exemplo no Richfaces.