Boa tarde a todos.
Estou com uma dúvida em relação a validação e o uso de interceptors.
Tenho uma página que tem somente 2 campos: código e descrição.
Fiz a configuração da validação via annotations da seguinte forma:
@Validation()
public class CadastroAction extends ActionSupport {
...
@RequiredStringValidator(type = ValidatorType.FIELD, message = "Por favor, digite o código.")
@RegexFieldValidator(type = ValidatorType.FIELD, expression = "\\d+", message = "Por favor, digite o código utilizando somente números.")
public void setCodigo(String codigo) {
this.codigo = codigo;
}
@RequiredStringValidator(type = ValidatorType.FIELD, message = "Por favor, digite a descrição.")
public void setDescricao(String descricao) {
this.descricao = descricao;
}
Ok. Os campos são validados normalmente. Depois disso eu precisei cria um interceptor só para testes (já q estou só aprendendo struts 2). Mas quando eu ativo o interceptor antes da action, assim:
Não sei se o problema é o que eu to pensando. Se eu tiver errado, por favor me corrijam.
Parece que o struts 2 já define uma série de interceptors default que não precisam ser declarados explicitamente no strus.xml para funcionar (estão presentes quando se declara extends=“struts-default”). Isto é, você não precisa declarar:
Eu achei essa idéia pesquisando na net e com certeza não é a melhor. Tem interceptors ai no meio que com certeza eu não preciso, tipo file-upload, prepare. Preciso pesquisar melhor.
Bom, mas funcionou.
Valeu galera! E qualquer sugestão é muito bem vinda!!
acho que o que o rafael quis dizer é que ele não que ter que ficar utilizando todos os filtros, visto que ele não necessita de todos, não é que ele tenha que ficar chamando sempre a pilha em cada action, rafael também estava tendo o mesmo problema e resolvi da mesma forma que você, creio que seja um bug da versão, pois em nenhum lugar dizem que devemos fazer isso para utilizar validação com interceptadores.