Parâmetro url no Struts 2

2 respostas
cadocado

Boa noite!

Comecei recentemente a aprender o Struts 2. Por enquanto, só uma duvidazinha está me atrapalhando. Quando eu tento acessar uma página, digamos /cliente/listar?tipo=3, o framework obtém o parâmetro “tipo” automaticamente e tenta setá-lo no bean, o que, no caso da minha aplicação, dá erro “pois” tipo não é inteiro. Se eu mudar o nome do parâemtro funciona, mas quero evitar que esse erro ocorra.

Enfim, minha pergunta é bem simples: já que quero pegar os parâmetros url manualmente, tem como mandar o Struts 2 ignorá-los?

Obrigado! :wink:

2 Respostas

bombbr

cadocado:
Boa noite!

Comecei recentemente a aprender o Struts 2. Por enquanto, só uma duvidazinha está me atrapalhando. Quando eu tento acessar uma página, digamos /cliente/listar?tipo=3, o framework obtém o parâmetro “tipo” automaticamente e tenta setá-lo no bean, o que, no caso da minha aplicação, dá erro “pois” tipo não é inteiro. Se eu mudar o nome do parâemtro funciona, mas quero evitar que esse erro ocorra.
Enfim, minha pergunta é bem simples: já que quero pegar os parâmetros url manualmente, tem como mandar o Struts 2 ignorá-los?
Obrigado! :wink:

Amigo,

Você esta querendo ignorar uma das principais facilidades do framework… não faz muito sentido o que você esta querendo fazer.
Faça assim…

public class Action {
     String tipo;
     ou
     Integer tipo;  //Neste caso ocorrerá erro caso   /cliente/listar?tipo=NaoNumerico

     /gets e sets

}
cadocado

bombbr, obrigado pela rapidez na resposta.

Bem, o problema é que o nome do meu atributo na action (“tipo”) seria o mesmo nome do atributo no bean, de modo que, quando tento acessar listar?tipo=3, ele tenta atribuir o valor 3 ao atributo do bean, que não é inteiro nem string. (Só por curiosidade, implemento a interface ModelDriven em minhas actions.)

Outra coisa: caso o usuário tente algo como listar?datanascimento=3, o atributo correspondente no bean tentará ser setado, o que gerará página de erro ao usuário. Sei que essa funcionalidade do Struts é muito boa, mas ainda não me convenci quando o método é GET. Tem como ao menos ignorar os parâmetros que não sejam os esperados?

Edit: também sei que essa é uma discussão até meio boba, já que bastaria mudar o nome do atributo da action para outro que não “tipo”. Creio que sigo insistindo nisso mais pra tentar entender a lógica de setar um parâmetro GET em um bean.

Criado 1 de outubro de 2010
Ultima resposta 1 de out. de 2010
Respostas 2
Participantes 2