Struts - enviar parametro para a action  XML
Índice dos Fóruns » Desenvolvimento Web
Autor Mensagem
LuizRocha
JavaChild
[Avatar]

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.
jjose
Virtual Machine Man
[Avatar]

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.

[Email] [WWW]
Java Player
JavaTeenager
[Avatar]

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
LuizRocha
JavaChild
[Avatar]

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.
LuizRocha
JavaChild
[Avatar]

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.
 
Índice dos Fóruns » Desenvolvimento Web
Ir para:   
Powered by JForum 2.1.8 © JForum Team