Struts 2 - Validação

1 resposta
calel

Estava lendo o http://struts.apache.org/2.x/docs/validation.html para tentar entender como gerar validações no struts 2 mas não consegui fazer funcionar, criei o arquivo xml de validações, mas não consegui chama-lo. Minha intenção era enviar os dados pelo formulário, valida-los e se ocorre-se algum erro voltar para a página do formulário, apresentando os erros ocorridos.

checaProcesso-validation.xml
<!-- Add the following DOCTYPE declaration as first line of your XXX-validation.xml file: -->
<!DOCTYPE validators PUBLIC "-//OpenSymphony Group//XWork Validator 1.0.2//EN" 
				"http://www.opensymphony.com/xwork/xwork-validator-1.0.2.dtd">
<validators >
	<field name="nrProcesso">
		<field-validator type="required">
			<message>Falta o numero</message>
		</field-validator>
	</field>
</validators>
classe Processo
public class Processo{
	private int refProcesso;
	private int nrProcesso;
	private int anoProcesso;
	//Gets e Sets
	...
}
classe ChecaProcesso
public class ChecaProcessoAction {
	private Processo processo;

	public Processo getProcesso() {
		return processo;
	}

	public void setProcesso(Processo processo) {
		this.processo = processo;
	}
	
	@Action(value="checaProcesso", results={
	@Result(name="ok", location="/pages/processo/ok.jsp")
	})
	public String executa(){
		Connection cnn = new ConnectionFactory().getFBConection();
		ProcessoDao dao = new ProcessoDao(cnn);
		processo = dao.getProcesso(processo);
		try{
			cnn.close();
		}catch(SQLException e){
			Log.log("executa", this, e);
		}
		ActionContext.getContext().getParameters().put("processo", processo);
		return "ok";
	}
}
cadastrar.jsp
<%@ taglib uri="/struts-tags" prefix="s" %>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<html>
<head>
	<s:head/>
</head>
<body>
<s:actionerror/>
	<s:form validate="true" action="checaProcesso" >
		<s:textfield label="Número do Processo" name="processo.nrProcesso" />
		<s:textfield label="Ano Processo" name="processo.anoProcesso" />	
		<s:submit value="Checar Processo" />
	</s:form>
</body>
</html>

1 Resposta

D

porque nao usa o ValidationAnnotation ?
Mas pelo o que entendi o seu arquivo checaProcesso-validation.xml tem que ter o mesmo nome da action ou seja ChecaProcessoAction-validation.xml.

Criado 14 de julho de 2010
Ultima resposta 15 de jul. de 2010
Respostas 1
Participantes 2