| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/07/2009 08:29:12
|
mario.fts
GUJ Ranger
![[Avatar]](/images/avatar/9e96d422fba85185a33829439f5df09d.jpg)
Membro desde: 14/05/2008 09:41:06
Mensagens: 815
Localização: São Paulo - ZL
Offline
|
Olá a todos.
Tenho alguns cenários em uma aplicação JSF onde estou utilizando managed beans com scope session. Gostaria de saber se existe alguma alternativa para isso, já que acredito que esses beans podem causar um problema de escalabilidade quando a aplicação for para produção.
Cenário 1: tabela com lista editável.
Tenho um MB que faz a pesquisa de funcionários, e os lista num datatable. Cada linha da tabela tem um botão que permite a edição do registro do funcionário. Quando o usuário clica no botão, eu pego o funcionário correspondente da lista e mando para outra tela que permite a edição.
Cenário 2 : Combo carrega combo
Na tela de edição/cadastro de funcionários, tenho alguns combos que dependem de outros pra carregar. por exemplo, eu trago na tela todas as diretorias. Quando o usuário escolhe uma diretoria, eu preencho o combo de gerências com as gerências daquela diretoria, quendo ele escolhe a gerência eu preencho o combo de departamentos com todos os departamentos daquela gerência, e assim por diante.
Então, tem algum meio de fazer esses dois cenários sem que os MB sejam scope session?
Valeu!
|
Mário Amaral Gonçalves
"Ciência da computação tem tanto a ver com o computador como a Astronomia com o telescópio, a Biologia com o microscópio, ou a Química com os tubos de ensaio. A Ciência não estuda ferramentas, mas o que fazemos e o que descobrimos com elas." - Edsger Dijkstra |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/07/2009 08:35:50
|
yorgan
GUJ Ranger
![[Avatar]](/images/avatar/29515bb9a5d5e558e2b3ba71e3b6e037.jpg)
Membro desde: 14/08/2006 19:41:31
Mensagens: 888
Localização: Floripa/SC
Offline
|
Você pode utilizar o scopo REQUEST.
Mas provavelmente você terá que guardar alguns dados na sessão, pois a cada submit do formulário ele cria uma nova instância do Bean.
[]´s
Daniel
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/07/2009 08:38:49
|
mario.fts
GUJ Ranger
![[Avatar]](/images/avatar/9e96d422fba85185a33829439f5df09d.jpg)
Membro desde: 14/05/2008 09:41:06
Mensagens: 815
Localização: São Paulo - ZL
Offline
|
Então yorgan, o problema é esse gerenciamento mesmo. Eu até consigo ficar gerenciando os objetos em memória, mas isso é muito sujeito a falhas.
Eu tava procurando algum esquema estilo @DataModel do Seam, ou scope Flash do Spring WebFolw
A idéia é tornar os beans scope request mesmo, mas eu queria que esse gerenciamento fosse algo mais automático.
[]'s
This message was edited 1 time. Last update was at 08/07/2009 08:39:50
|
Mário Amaral Gonçalves
"Ciência da computação tem tanto a ver com o computador como a Astronomia com o telescópio, a Biologia com o microscópio, ou a Química com os tubos de ensaio. A Ciência não estuda ferramentas, mas o que fazemos e o que descobrimos com elas." - Edsger Dijkstra |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/07/2009 08:48:38
|
markinho
JavaChild
Membro desde: 29/05/2008 18:22:00
Mensagens: 100
Localização: Indaiatuba - SP
Offline
|
Olá mario.fts!
No cenário 1 você pode usar o scope de request da seguinte maneira, ao chamar a outra página para edição você envia o código do funcionário por paramêtro!
No cenário 2 você pode usar ajax, quando trocar de diretoria(onchange) você manda renderizar(reRender) o combo de gerência ... e assim por diante, tornando o managed bean como scope de request! Utilize o A4JForJSF
Qualquer dúvida estamos ai!
Abraços
|
Marcos Pereira
Sun Certified Java Programmer 5.0 (SCJP) |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/07/2009 10:09:31
|
mario.fts
GUJ Ranger
![[Avatar]](/images/avatar/9e96d422fba85185a33829439f5df09d.jpg)
Membro desde: 14/05/2008 09:41:06
Mensagens: 815
Localização: São Paulo - ZL
Offline
|
putz.. acabei de descobrir porque estava como scope session:
segue o código cenário 1
quando o usuário clica no combo de gerencia, o evento do valueChangeListener não é chamado se o scope do bean não for session.
Acho que isso tem a ver com http://www.theserverside.com/news/thread.tss?thread_id=44186, um problema de commandLinks dentro de datatables.
Existe alguma soluição alternativa pra esse problema? no cenário 2 é a mesma coisa, quando eu clico no botão editar ele tbm não chama o evento e faz um submit pra mesma página.
[]'s
|
Mário Amaral Gonçalves
"Ciência da computação tem tanto a ver com o computador como a Astronomia com o telescópio, a Biologia com o microscópio, ou a Química com os tubos de ensaio. A Ciência não estuda ferramentas, mas o que fazemos e o que descobrimos com elas." - Edsger Dijkstra |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/07/2009 12:42:43
|
markinho
JavaChild
Membro desde: 29/05/2008 18:22:00
Mensagens: 100
Localização: Indaiatuba - SP
Offline
|
Você está utilizando que tipo de form um <h:form> ou <a4j:form>?
Pelo que sei ocorre esse problema somente quando o form é <h:form>!
Tente utilizar <a4j:form>
Abraços
|
Marcos Pereira
Sun Certified Java Programmer 5.0 (SCJP) |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/07/2009 12:45:44
|
mario.fts
GUJ Ranger
![[Avatar]](/images/avatar/9e96d422fba85185a33829439f5df09d.jpg)
Membro desde: 14/05/2008 09:41:06
Mensagens: 815
Localização: São Paulo - ZL
Offline
|
Cara é <h:form>.
Vou testar aqui e já mando o resultado.
Value!
|
Mário Amaral Gonçalves
"Ciência da computação tem tanto a ver com o computador como a Astronomia com o telescópio, a Biologia com o microscópio, ou a Química com os tubos de ensaio. A Ciência não estuda ferramentas, mas o que fazemos e o que descobrimos com elas." - Edsger Dijkstra |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/07/2009 13:02:40
|
mario.fts
GUJ Ranger
![[Avatar]](/images/avatar/9e96d422fba85185a33829439f5df09d.jpg)
Membro desde: 14/05/2008 09:41:06
Mensagens: 815
Localização: São Paulo - ZL
Offline
|
nada feito.
segue a página:
Quando eu clico no editar, ele dá submit pra mesma página, e não chama o método do MB.
|
Mário Amaral Gonçalves
"Ciência da computação tem tanto a ver com o computador como a Astronomia com o telescópio, a Biologia com o microscópio, ou a Química com os tubos de ensaio. A Ciência não estuda ferramentas, mas o que fazemos e o que descobrimos com elas." - Edsger Dijkstra |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/07/2009 13:25:51
|
alves.Felipe
GUJ Ranger
![[Avatar]](/images/avatar/1d225d267a78f71ea5abb2364f4e91c4.jpg)
Membro desde: 21/01/2008 13:45:56
Mensagens: 766
Localização: Curitiba - Pr
Offline
|
o nome do ben é esse né ? colaboradorPesq tenta fazer isso: com isso vc consegue fazer o submit.. http://www.urubatan.com.br/jsf_commandlink_datatable_problemas/
This message was edited 1 time. Last update was at 08/07/2009 13:28:03
|
Felipe Alves |
|
|
 |
|
|