| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/08/2009 18:03:37
|
w1l14n
JavaBaby
![[Avatar]](/images/avatar/3344c30b90c7038aeb1b0dedc8def929.png)
Membro desde: 11/07/2008 09:36:13
Mensagens: 92
Offline
|
Bom tarde Galera.
Meu objetivo é ter uma tabela onde a primeira coluna é um checkbox.
E partir daí salvar no meu banco de dados apenas as linhas selecionadas.
Esta tabela é montada a partir de uma tabela do banco.
Eu consigo montar a tabela com o checkbox e as outras colunas.
Estou tendo problema em como vou salvar as linhas marcadas no checkbox.
Não preciso salvar a cada momento que é selecionado, o objetivo é selecionar todos e depois mandar salvar.
Agradeço a ajuda de todos.
Meu código da página está assim:
This message was edited 1 time. Last update was at 18/08/2009 14:52:33
|
Java Rules!
SCJP 5
SCWCD 5 |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/08/2009 18:40:42
|
asensio
HelloWorld
Membro desde: 03/07/2009 05:38:38
Mensagens: 13
Localização: São Paulo
Offline
|
Como você está fazendo o acesso aos dados? Hibernate?
|
Luis Asensio
E-mail: luis_asensio_garcia@hotmail.com |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/08/2009 21:59:48
|
Javabuntu
GUJ Master
![[Avatar]](/images/avatar/00053f5e11d1fe4e49a221165b39abc9.jpg)
Membro desde: 08/02/2007 17:15:32
Mensagens: 1315
Localização: Brasília
Offline
|
Já fiz muito isso e de várias formas.
Aparentemente pelo que você quer já está praticamente pronto, basta agora após clicar em algum botão submit, fazer um "for" na lista da tabela e verificar se o objeto foi selecionado, vci criou essa propriedade "lstParticipantes.selecionado", basta chamar o lstParticipantes.isSelecionado() e verificar se true ou false.
|
SCJP 6
SCJD
SCWCD 5
Itil V2 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/08/2009 11:10:40
|
w1l14n
JavaBaby
![[Avatar]](/images/avatar/3344c30b90c7038aeb1b0dedc8def929.png)
Membro desde: 11/07/2008 09:36:13
Mensagens: 92
Offline
|
asensio wrote:Como você está fazendo o acesso aos dados? Hibernate?
Não estou usando Hibernate.
Via JDBC.
Javabuntu wrote:
Já fiz muito isso e de várias formas.
Aparentemente pelo que você quer já está praticamente pronto, basta agora após clicar em algum botão submit, fazer um "for" na lista da tabela e verificar se o objeto foi selecionado, vci criou essa propriedade "lstParticipantes.selecionado", basta chamar o lstParticipantes.isSelecionado() e verificar se true ou false.
O meu método consulta retorna o List, só que este list é uma atributo da minha classe Bean.
Quando vou fazer o "for" este list está nulo.
Como vou fazer para "linkar" com o datatable, visto que depois de renderizado ele se torna uma tabela comum em HTML.
Obrigado pela ajuda.
|
Java Rules!
SCJP 5
SCWCD 5 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/08/2009 11:20:29
|
Javabuntu
GUJ Master
![[Avatar]](/images/avatar/00053f5e11d1fe4e49a221165b39abc9.jpg)
Membro desde: 08/02/2007 17:15:32
Mensagens: 1315
Localização: Brasília
Offline
|
Entendi o que você fez.
Você poderia fazer o seguinte, em vez de ligar a tabela no método consulta como está agora, ligar a tabela ao atributo list do seu bean, aí antes de carregar a tabela, no link que clicou pra ir pra essa tabela, ou seja como for, primeiro você chama o método consultar, e seta o resultado na propriedade list do seu bean, ou seja, quando a tabela for lá buscar já vai ter resultados.
Ou uma maneira não muito legal, você coloca o consulta dentro do método get da sua list, algo assim:
Foram exemplo simples só para vc entender a coisa....
Quando eu fiz, eu preferi fazer tudo na mão e ter um controle maior, minha tabela era montada via código... colunas, labels.. o binding era tudo no código, no html só ficava uma linha pra fazer o binding, mas vai da necessidade.
[]'s Hewerton Crisóstomo
This message was edited 1 time. Last update was at 11/09/2009 09:29:32
|
SCJP 6
SCJD
SCWCD 5
Itil V2 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/08/2009 11:26:46
|
w1l14n
JavaBaby
![[Avatar]](/images/avatar/3344c30b90c7038aeb1b0dedc8def929.png)
Membro desde: 11/07/2008 09:36:13
Mensagens: 92
Offline
|
Eu tenho que fazer um binding do datatable com o list do meu bean???
Desculpe se algumas dúvidas são óbvias demais... pq sou novato em JSF.
Pq tente fazer um bindinga da tabela com o meu List e deu erro.
|
Java Rules!
SCJP 5
SCWCD 5 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/08/2009 11:34:41
|
Javabuntu
GUJ Master
![[Avatar]](/images/avatar/00053f5e11d1fe4e49a221165b39abc9.jpg)
Membro desde: 08/02/2007 17:15:32
Mensagens: 1315
Localização: Brasília
Offline
|
w1l14n wrote:Eu tenho que fazer um binding do datatable com o list do meu bean???
Desculpe se algumas dúvidas são óbvias demais... pq sou novato em JSF.
Pq tente fazer um bindinga da tabela com o meu List e deu erro.
Você pode fazer assim:
No seu atributo "lista" no bean cadParticipanteBean coloque get/set...
Como eu disse acima, se você não colocar o retorno dos valores no get (preferível nunca colocar no get), você precisar fazer um set nesse atributo antes da lista ir buscar, senão ela busca e não tem nada e a lista vai ficar em branco.
Só lembrando esse seu "lista" é um atributo do tipo ListDataModel pra você ligar no value.
This message was edited 1 time. Last update was at 18/08/2009 11:36:58
|
SCJP 6
SCJD
SCWCD 5
Itil V2 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/08/2009 11:59:40
|
w1l14n
JavaBaby
![[Avatar]](/images/avatar/3344c30b90c7038aeb1b0dedc8def929.png)
Membro desde: 11/07/2008 09:36:13
Mensagens: 92
Offline
|
Só uma dúvida.
Devo trabalhar com Bean do tipo request ou session?
|
Java Rules!
SCJP 5
SCWCD 5 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/08/2009 12:11:08
|
Javabuntu
GUJ Master
![[Avatar]](/images/avatar/00053f5e11d1fe4e49a221165b39abc9.jpg)
Membro desde: 08/02/2007 17:15:32
Mensagens: 1315
Localização: Brasília
Offline
|
w1l14n wrote:Só uma dúvida.
Devo trabalhar com Bean do tipo request ou session?
Aí depende da necessidade, mas evite ao máximo usar session, use apenas quando necessário e não por comodidade. As session pesa a aplicação.
Olha só, imagine que tenha um bean com atributo usuário que você precisa de fato estar na sessão, mas nesse bean você tem também lista, objetos do seu negócio, e mais atributos... se você colocar esse bean na sessão, tudo, tudo que está nele vai junto, as listas, objetos de negócio e tudo mais, sendo que você só precisava do atributo usuário.
O que você pode fazer nesse caso, você pode criar um bean UsuarioBean, e nele você coloca o atributo usuário que realmente precisa na sessão, e coloca este bean como session.
E cria outro bean, o qual tem as listas, objetos de negócios e etc, e coloque como scope request, e dentro deste bean você coloca uma propriedade sendo o seu UsuarioBean, e atribua ele no faces como atributo.
Concluindo, você tem um bean de sessão dentro de um bean de request, dessa forma você resolve seu problema e não coloca "lixo" na sessão, evitando assim uma perda de performance e que fácil, fácil vira uma bola de neve.
Demonstrando a idéia acima, em vez disso:
faça isso:
e
E depois colocar no faces o UsuarioBean como propriedade do MeuBeanController.
[]'s Hewerton Crisóstomo
This message was edited 1 time. Last update was at 11/09/2009 09:29:14
|
SCJP 6
SCJD
SCWCD 5
Itil V2 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/08/2009 14:48:54
|
w1l14n
JavaBaby
![[Avatar]](/images/avatar/3344c30b90c7038aeb1b0dedc8def929.png)
Membro desde: 11/07/2008 09:36:13
Mensagens: 92
Offline
|
Javabuntu valeu ajuda.
Funcionou direitinho aqui.
|
Java Rules!
SCJP 5
SCWCD 5 |
|
|
 |
|
|