| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 02/06/2008 16:14:11
|
lusilva1982
Debugger
![[Avatar]](/images/avatar/e2d56b6b53ce40332aec920b78d030c1.jpg)
Membro desde: 16/07/2006 19:41:30
Mensagens: 63
Localização: São Paulo
Offline
|
Olá!
Estou iniciando alguns testes em JSF, até o momento entendi boa parte de como funciona o framework, porém, pintou uma dúvida simples, veja, estou fazendo um CRUD, e na lista de um determinado cadastro denho a opção Editar para cada registro, quero fazer o simples, clicar sobre o botão e ser redirecionado ao formulário com os campos preenchidos devidamente.
Abaixo o código:
No faces-config.xml tá assim:
Alguma dica?
|
"A humildade vem antes da honra."
http://www.lucianosilva.com
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 02/06/2008 16:17:37
|
thgdias
JavaGuru
Membro desde: 23/07/2007 18:59:31
Mensagens: 223
Localização: Basil - São Paulo - SP
Offline
|
Já tentou usar o actionListener para chamar um método que carrega o list que vai preencher sua tela, quando clicar no botao editar?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 02/06/2008 16:35:42
|
lusilva1982
Debugger
![[Avatar]](/images/avatar/e2d56b6b53ce40332aec920b78d030c1.jpg)
Membro desde: 16/07/2006 19:41:30
Mensagens: 63
Localização: São Paulo
Offline
|
Valeu pela dica, vou tentar!
|
"A humildade vem antes da honra."
http://www.lucianosilva.com
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 02/06/2008 22:35:42
|
lusilva1982
Debugger
![[Avatar]](/images/avatar/e2d56b6b53ce40332aec920b78d030c1.jpg)
Membro desde: 16/07/2006 19:41:30
Mensagens: 63
Localização: São Paulo
Offline
|
Tentei fazer com o ActionEvent, mas pintou outra dúvida, como faço pra redirecionar para o formulário?
Veja bem, estou fazendo de maneira bem simples, não separei por camada de negócio, ou seja, o Bean que criei faz tudo! (Tosco não? Mas foi seguindo um tutorial aqui do GUJ mesmo) Pretento fazer de uma forma melhor, mas agora quero entender o mecanismo mesmo...
O ultimo método é o actionEvent.
This message was edited 1 time. Last update was at 02/06/2008 22:36:33
|
"A humildade vem antes da honra."
http://www.lucianosilva.com
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/06/2008 07:08:20
|
thgdias
JavaGuru
Membro desde: 23/07/2007 18:59:31
Mensagens: 223
Localização: Basil - São Paulo - SP
Offline
|
lusilva,
me desculpe, acho que não me fiz claro... é assim, você chama o action passando para ele o parametro "edit", que o faces vai buscar lá no faces-config.xml e no actionListener voce passa o seu metodo do bean, o action vai cuidar do redirecionamento automaticamente, enquanto o seu action listener deverá se preocupar em popular o seu list para exibição dos dados, isso tudo no jsp... ficaria assim
<h:commandButton value="Editar" action="edit" actionListener="#{Editora.selEditar}" /> .
Quanto ao retorno, na hora de salvar as alterações, você chama um action , passando por exemplo <h:commandButton value="Salvar" action="#{Editora.salvar}" /> agora o faces vai buscar o seu método que deverá retornar algum valor de algum tipo, se você retornar uma String, ele automaticamente buscará no faces-config a ação, por exemplo:
public String salvar(){
try{
String SUCCESS="SUCCESS";
String FAILURE="FAILURE";
MeuBusiness.SalvaObjeto(meuList);
return SUCCESS;
catch (Exception e){
e.printStackTrace();
return FAILURE;
}
}
e no seu faces-config:
<navigation-rule>
<display-name>editora_lista</display-name>
<from-view-id>/editora_lista.jsp</from-view-id>
<navigation-case>
<to-view-id>/editora_novo.jsp</to-view-id>
</navigation-case>
<navigation-case>
<from-outcome>edit</from-outcome>
<to-view-id>/editora_editar.jsp</to-view-id>
</navigation-case>
<from-view-id>/editora_editar.jsp</from-view-id>
<navigation-case>
<from-outcome>SUCCESS</from-outcome>
<to-view-id>/editora_sucesso.jsp</to-view-id>
</navigation-case>
</navigation-rule>
note que eu só coloquei o success, isso porque por padrão do faces, se ele não encontrar o map no faces-config.xml, ele vai ficar aonde está, logo em caso de falha, ele não encontraria o retorno FAILURE, o que faria com que ele ficasse na propria pagina "/editora_editar.jsp" aonde você poderia tratar o problema ou dar alguma mensagem, ou simplesmente redirecionar.
espero ter ajudado... qualquer coisa estamos ai!
This message was edited 1 time. Last update was at 03/06/2008 07:11:03
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/06/2008 22:27:25
|
lusilva1982
Debugger
![[Avatar]](/images/avatar/e2d56b6b53ce40332aec920b78d030c1.jpg)
Membro desde: 16/07/2006 19:41:30
Mensagens: 63
Localização: São Paulo
Offline
|
Eu entendi a idéia, mas como eu passo o parametro (ID) para o método que vai popular o list? Se eu não passar o ID ele não saberá qual registro eu quero editar, correto?
Esse código abaixo não funciona, tá recebendo um ActionEvent, não sei qual o type correto:
O restante da configuração tá correto!
Valeu pela paciência e ajuda.
[]`s
|
"A humildade vem antes da honra."
http://www.lucianosilva.com
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 04/06/2008 07:03:03
|
thgdias
JavaGuru
Membro desde: 23/07/2007 18:59:31
Mensagens: 223
Localização: Basil - São Paulo - SP
Offline
|
na verdade você já está passando o parametro no JSP quando coloca lá <{#Editora.id_editora}>
se esse campo for oculto, deverá estar dentro de um hide e se você estiver postando, dê uma olhada no myfaces tomahawk
http://myfaces.apache.org/tomahawk/tlddoc/index.html
ele tem um objeto, o savestate para fazer o postback de seus objetos...
para acessálos em sua classe, basta dar um this.id_editora e pronto, já tem acesso ao objeto.... não precisa pegá-los como em um servlet e joga-los aonde quer...
qualquer coisa posta o codigo todo para darmos uma olhada!
sem problemas
pode perguntar q nao tem erro!
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 05/06/2008 23:24:55
|
lusilva1982
Debugger
![[Avatar]](/images/avatar/e2d56b6b53ce40332aec920b78d030c1.jpg)
Membro desde: 16/07/2006 19:41:30
Mensagens: 63
Localização: São Paulo
Offline
|
Olá!
Demorou um pouco pra entender, mas aprendi como usar o ActionListener, provavelmente apareçam novas dúvidas, mas essa tá resolvidoa.
Seguindo as orientações do thgdias fiz assim:
página jsp:
o método para popular o bean:
no faces-config.xml ficou assim:
Thanks.
|
"A humildade vem antes da honra."
http://www.lucianosilva.com
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 05/06/2008 23:25:18
|
rponte
JavaEvangelist
![[Avatar]](/images/avatar/37a90a1fe7512a804347fa3e572c6b86.png)
Membro desde: 18/02/2008 10:06:25
Mensagens: 413
Offline
|
Acho que está faltando você entender como funciona a comunicação com JSF,
http://balusc.blogspot.com/2006/06/communication-in-jsf.html
Abraços e boa sorte.
|
Rafael Ponte
http://www.rponte.com.br/ |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 21/08/2008 00:40:05
|
sudeval
JavaGuru
![[Avatar]](/images/avatar/b555f4a2901228cc826327079761e696.png)
Membro desde: 08/06/2005 09:48:30
Mensagens: 213
Localização: Fortaleza/CE
Offline
|
aproveitando o topico, fazendo algumas coisas com JSF acabei me enrolando com um CRUD
consigo criar,listar e exibir mais quando tento alterar, nao tenho sucesso.
faco algo do tipo
meu xhtml de listagem de mercadorias (mercadoriaList.xhtml) , vai ter algo como :
no meu backbean tenha algo como:
apos fazer a execução do obterMercadoria os dados são exibidos corretamente no meu xhtml de mercadoria, mas ao tentar editar e salvar as alterações eu não consigo, não me é retornado nenhum erro, mais ao fazer um debug vi que as informações do tipo nome e codigo estão no objeto mercadoria mas o id está como null (por isso não consigo fazer merge).
----
o meu mercadoria.xhtml eh algo basico, somente pro teste do crud mesmo, algo como
na verdade estou em duvida se o problema eh algo que estou fazendo de errado no JSF ou com relacao a JPA.
se alguem tiver alguma sugestão, será bem vinda.
t+
This message was edited 1 time. Last update was at 01/09/2008 21:06:54
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/09/2008 21:07:39
|
sudeval
JavaGuru
![[Avatar]](/images/avatar/b555f4a2901228cc826327079761e696.png)
Membro desde: 08/06/2005 09:48:30
Mensagens: 213
Localização: Fortaleza/CE
Offline
|
alguem ja passou por isso ? acho que deve ser algo comum entre vcs, qualquer dica eh bem vinda !
|
|
|
 |
|
|