| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/10/2007 16:02:56
|
LuizRocha
JavaChild
![[Avatar]](/images/avatar/c36b81d5293acd2e3d41f1bdc1d0aefb.jpg)
Membro desde: 07/07/2006 01:38:04
Mensagens: 109
Localização: Fortaleza - CE
Offline
|
Saudações.
Preciso passar um parâmtero para um objeto de uma subclasse de Action que eu criei no meu projeto. Quero simplesmente passar uma dupla "nome-valor", um par de Strings. Mas o parametro precisa ser enviado do struts-config.xml
A razão é a seguinte: na minha aplicacao eu tenho dois links que chamam uma action cada: o link "ver mensagens públicas" e o link "ver mensagens privadas". As actions - de nomes semelhantes - chamam a mesma classe, a GetMensagensAction, que extende de Action. A diferença é que um link manda um atributo chamado "destinatario" com o valor "todos" e a outra manda o mesmo atributo, mas com o valor "usuario". Na classe existe um mecanismo que direciona o algoritmo para determinado caminho segundo o valor do atributo "destinatario".
Minha primeira solução foi colocar um <set-property (...) /> dentro do <action (...) > no struts-config.
Estava assim:
Mas o Tomcat denunciava um NullPointerException, e agora eu acho que <set-property> não deve ser usado dentro de um <action>.
Existe alguma maneira de enviar um parâmetro para essa classe através do <action> do struts-config? Se não, como eu faria, já que eu quero evitar ter de construir duas classes para fazer operações tão semelhantes?
Valeu.
This message was edited 1 time. Last update was at 17/10/2007 16:22:14
|
Amar é pôr-se no lugar do outro e agir. |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/10/2007 16:59:37
|
jjose
Virtual Machine Man
![[Avatar]](/images/avatar/68be68a4c8ce0d9d97e5259a649ce6a4.jpg)
Membro desde: 22/05/2007 23:10:22
Mensagens: 663
Localização: Paraiba
Offline
|
?
Olhe sobre dispatcher ou lookupdispatcher(ação no botao)...
Se vc colocar um valor estatico no xml, quando vai ser alterado?
Ja pensou em hidden ?
Quantas soluções para ñ criar outra classe?
Qual a melhor p/ o negocio?
|
Estatísticas mostram que no RJ você corre risco de levar um tiro antes mesmo de nascer.
No RJ proporção é de uma bala perdida por cada gota de chuva.
No RJ quando o assunto é bala perdida, o óbito considera causas naturais.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/10/2007 17:15:24
|
Java Player
JavaTeenager
![[Avatar]](/images/avatar/9910489e4ff310896dce21303a8e7fda.png)
Membro desde: 17/08/2006 17:11:57
Mensagens: 180
Offline
|
Não seria mais fácil criar uma Action só??
E no JSP colocar algo como:
<a href="GetMensagensAction.do?destino=todos">ver mensagens públicas</a>
<a href="GetMensagensAction.do?destino=usuario">ver mensagens privadas</a>
|
SCPJ 6 - 93%
Quizzes .com.br
Jogos para Celular .com.br
Jogos para Android .com.br
Android Gameplay .com |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/10/2007 17:38:38
|
LuizRocha
JavaChild
![[Avatar]](/images/avatar/c36b81d5293acd2e3d41f1bdc1d0aefb.jpg)
Membro desde: 07/07/2006 01:38:04
Mensagens: 109
Localização: Fortaleza - CE
Offline
|
Ola.
O conteúdo estátio do xml é estático mesmo, não deve mudar em momento algum.
A situação é que eu tenho dois links para páginas diferentes geradas com a ajuda do processamento de uma mesma classe. Ela deve receber algum valor para saber se foi instanciada por um link ou por outro.
Minha idéis inicial era justamente fazer isso no struts-config:
Na classe GetMensagensAction eu colocaria:
Ou seja, se o valor do parametro destino for "todos", contionuará assim; mas se for "usuario", a classe pega o nome do usuário do HttpSession. O resto da lógica é só a utilização desses nomes.
Meu problema é que não posso colocar <set-property> num <action>, e daí não sei como enviar um parâmetro para a minha classe.
Mas, agora que você falou, DispatchAction parece ser bem mais plausível.
Valeu.
|
Amar é pôr-se no lugar do outro e agir. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/10/2007 17:49:45
|
LuizRocha
JavaChild
![[Avatar]](/images/avatar/c36b81d5293acd2e3d41f1bdc1d0aefb.jpg)
Membro desde: 07/07/2006 01:38:04
Mensagens: 109
Localização: Fortaleza - CE
Offline
|
Ei, java palyer. Sua solução é bem mais simples.
Obrigado.
|
Amar é pôr-se no lugar do outro e agir. |
|
|
 |
|
|