Valor já preenchido ou pré-enchido :)  XML
Índice dos Fóruns » Desenvolvimento Web
Autor Mensagem
andrepestana
JavaEvangelist
[Avatar]

Membro desde: 23/03/2004 09:57:28
Mensagens: 380
Offline

Resolvido:

Como estou começando com Struts, ainda faço confusão com algumas coisas.

Action




struts-conf.xml





ActionForm



jsp:



Coloquei só que importa... mas deu certo... vou mudar o atributo na session para request..

Obrigado, Diogenes e Daniel!

Pestana

Pestana
http://andrepestana.wordpress.com/
[Email] [MSN]
kmagnani
Debugger
[Avatar]

Membro desde: 18/01/2005 18:21:01
Mensagens: 54
Offline

Antes de mais nada, eu tb estou começando com o struts. Estou fazendo algo bem semelhante, ou seja, estou vinculando um elemento de um form com um bean da seguinte forma:



O "usuarioeditar" é uma variável de sessão, e o text é preenchido com o valor do campo "login" de "usuarioeditar". O problema é que quando altero o conteúdo do text e submeto o formulário, o bean não é alterado. Vcs saberiam me dizer o q estou fazendo errado?

Valeu!
Diogenes
Virtual Machine Man
[Avatar]

Membro desde: 17/07/2003 14:08:01
Mensagens: 646
Localização: Belo Horizonte
Offline

Auto-quote eh sacanagem!

Diogenes wrote:
pelo amor de Deus não use sessao cara!


e outra....

Quando for obter o valor de uma variavel na action do seu form obtenha-o pelo ActionForm passado pro metodo execute....

This message was edited 1 time. Last update was at 19/01/2005 09:16:16


Diogenes

"É possível resistir a invasão de exércitos, mas não a invasão de idéias." - (Victor Hugo)


[Email] [MSN]
kmagnani
Debugger
[Avatar]

Membro desde: 18/01/2005 18:21:01
Mensagens: 54
Offline

Cara, em primeiro lugar,obrigado por responder.

Perguntas:

1. O que é auto-quote? Qual é a sacanagem disto?

2. Gostaria de não usar variáveis de sessão, mas o caso é que quando eu atribuo alguma coisa à um request, esta coisa é perdida ao fim do request, certo? O que eu quero é criar um VO lá no DAO e carregá-lo no JSP. Como fazer isto sem variáveis de sessão?

3. Estou tentando recuperar o bean alterado no validate() do ActionForm, e não no execute() do Action. Ok, isto é quase a mesma coisa, eu sei. Acontece que o ActionForm não tem nem as variáveis membro que são alteradas, elas estão todas no bean que está associado às tags <html:...> no jsp. Pq isto simplesmente não funciona, ou seja, pq as alterações as alteraçõe nos controle html não se refletem no bean q está associado a eles?

Valeu, again!
Diogenes
Virtual Machine Man
[Avatar]

Membro desde: 17/07/2003 14:08:01
Mensagens: 646
Localização: Belo Horizonte
Offline

Entaum vamos lá...

kmagnani wrote:
Cara, em primeiro lugar,obrigado por responder.


Disponha!


kmagnani wrote:
1. O que é auto-quote? Qual é a sacanagem disto?


É que no post anterior eu citei eu mesmo...


kmagnani wrote:
2. Gostaria de não usar variáveis de sessão, mas o caso é que quando eu atribuo alguma coisa à um request, esta coisa é perdida ao fim do request, certo? O que eu quero é criar um VO lá no DAO e carregá-lo no JSP.
Como fazer isto sem variáveis de sessão?



Vc quer apenas criar um VO no DAO e mandar pra jsp?

Fácil!




E na jsp:




kmagnani wrote:

3. Estou tentando recuperar o bean alterado no validate() do ActionForm,
e não no execute() do Action. Ok, isto é quase a mesma coisa, eu sei. Acontece que o ActionForm não tem nem as variáveis membro que são alteradas,
elas estão todas no bean que está associado às tags <html:...> no jsp. Pq isto simplesmente não funciona, ou seja, pq as alterações as alteraçõe
nos controle html não se refletem no bean q está associado a eles?

Valeu, again!


Se vc tem seu ActionForm vinculado a Action no struts-config normalmente,
qdo eh dado o post pra Action o ActionForm será populado com os dados
preenchidos no formulário cara!
É soh vc obter os dados pelos campos do próprio ActionForm..

Como vc tah fazendo no seu ActionForm? Posta ele aih...


Diogenes

"É possível resistir a invasão de exércitos, mas não a invasão de idéias." - (Victor Hugo)


[Email] [MSN]
kmagnani
Debugger
[Avatar]

Membro desde: 18/01/2005 18:21:01
Mensagens: 54
Offline

(Pequena novela)

Cara, o que acontece eh o seguinte: na minha aplicação, existe um <html:form action="/users">, que apresenta uma lista de usuarios na tela. Tudo funciona perfeitamente, pelo menos em princípio. Acontece que um dos botões nesta tela leva a uma outra tela para editar o usuário e voltar a esta. Aí eu pensei: " Pô, este negócio de ficar criando um ActionForm para cada <html:form> não tá com nada, isto vai explodir exponencialmente..." E resolvi tentar o seguinte: criar o novo form do outro jsp (o de editar o usuario) com <html:form action="/users">, ou seja, usar o mesmo ActionForm e tudo o mais. Bastaria acrescentar novas variáveis membro + getters & setters. Só que aí aconteceu algo estranho: quando eu alterava o valor de uma propriedade, a página jsp carregava, mas os controles apareciam com o valor antigo da propriedade. O pior é que quando eu avaliava no mesmo ponto a propriedade com uma expressão EL, o valor aparecia atualizado na EL mas não no controle. Aí eu resolvi criar um bean só para associar aos controles da tela de editar, e removi variáveis + getters and setters do ActionForm. Note q o bean NÃO é um ActionForm. Ok, funcionou, os valores apareceram corretamente, mas ao alterar os valores no controle e submeter o form, o bean não tava nem aí e não era alterado.

Resumindo, desisti da idéia original e estou fazendo as coisas como sempre, um ActionForm para cada <html:form>. Da próxima vez, vou ver se aprendo DynaAction, me falaram que é melhor para reutilizar código.

Mais uma vez, valeu.
Diogenes
Virtual Machine Man
[Avatar]

Membro desde: 17/07/2003 14:08:01
Mensagens: 646
Localização: Belo Horizonte
Offline

Se vai usar alguma coisa nova cara, use Webwork!!!
Pense nas pobres foquinhas...


Diogenes

"É possível resistir a invasão de exércitos, mas não a invasão de idéias." - (Victor Hugo)


[Email] [MSN]
 
Índice dos Fóruns » Desenvolvimento Web
Ir para:   
Powered by JForum 2.1.8 © JForum Team