Minhas mensagens de validate não funcionam.
Minha classe ContatoForm
public class ContatoForm extends ActionForm{
private Contato contato = new Contato();
public Contato getContato(){
return this.contato;
}
@Override
public ActionErrors validate(ActionMapping mapping,HttpServletRequest request) {
ActionErrors erros = new ActionErrors();
if(contato.getNome()==null || contato.getNome().equals("")){
erros.add("nome",new ActionMessage("erro.campoNome"));
}
if(contato.getEmail()==null || contato.getEmail().equals("")){
erros.add("email",new ActionMessage("erro.campoEmail"));
}
if(contato.getEndereco()==null || contato.getEndereco().equals("")){
erros.add("endereco",new ActionMessage("erro.campoEndereco"));
}
return erros;
// TODO Auto-generated method stub
}
}
Arquivo de internacionalização
menu.nome=Menu Principal
menu.arquivo=Arquivo
menu.editar=Editar
menu.sair=Sair
site.titulo=Sistema de teste do Struts
erro.CampoNome=O nome não pode ser nulo
erro.CampoEmail=E-mail não pode ser nulo
erro.CampoEndereco=Endereco não pode ser nulo
erros.header=<UL>
erros.footer=</UL>
erros.prefix=<LI>
erros.suffix=</LI>
JSP
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%>
<html:html>
<html:errors/>
<head>
<title>Sistema de testes do Struts</title>
</head>
<html:errors/>
<html:form action="/novoContato" focus="contato.nome">
Nome:
<html:text property="contato.nome" /></br>
Email:
<html:text property="contato.email" /></br>
Endereço:
<html:text property="contato.endereco" /></br>
<html:submit>Enviar Dados</html:submit>
</html:form>
</html:html>
Struts-config
<!DOCTYPE struts-config PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 1.3//EN"
"http://struts.apache.org/dtds/struts-config_1_3.dtd">
<struts-config>
<form-beans>
<form-bean name="ContatoForm" type="br.com.caelum.struts.form.ContatoForm"></form-bean>
</form-beans>
<action-mappings>
<action path="/teste" type="br.com.caelum.struts.action.TesteSimplesAction">
<forward name="ok" path="/exemplo.jsp"></forward>
</action>
<action path="/listaContatos" type="br.com.caelum.struts.action.ContatoAction">
<forward name="lista" path="/lista.jsp"></forward>
<forward name="vazia" path="/lista-vazia.jsp" />
</action>
<action path="/novoContato" name="ContatoForm" type="br.com.caelum.struts.action.AdicionaContatoAction" input="/novo.jsp">
<forward name="ok" path="/listaContatos.do" />
<forward name="contatoSemNomeNaoCadastrado" path="/contatoSemNome.jsp"></forward>
</action>
</action-mappings>
<message-resources parameter="MessageResources"></message-resources>
</struts-config>