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>
public class Processo{
private int refProcesso;
private int nrProcesso;
private int anoProcesso;
//Gets e Sets
...
}
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";
}
}
<%@ 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>