Boa tarde pessoal estou tentando utilizar as validações do Struts com DispatchAction mais estou tendo alguns problemas, criei um exemplo básico para entender o funcionamento dos recursos.
Meu formulário foi definido da seguinte maneira:
<form-bean name="funcionarioForm" type="org.apache.struts.validator.DynaValidatorForm">
<form-property name="nome" type="java.lang.String"/>
<form-property name="idade" type="java.lang.String"/>
</form-bean>
Criei uma Action da seguinte forma:
<action path="/funcionario"
type="br.com.fts.exp.action.FuncionarioAction"
name="funcionarioForm"
scope="request"
validate="true"
parameter="metodo"
input="fts.funcionario.editar">
<forward name="editar" path="fts.funcionario.editar"/>
<forward name="sucesso" path="fts.funcionario.sucesso"/>
</action>
Já na minha classe estou fazendo da seguinte maneira:
public final class FuncionarioAction extends DispatchAction {
public ActionForward editar (ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
Funcionario funcionario = new Funcionario();
HttpSession session = request.getSession();
session.setAttribute( "funcionario", funcionario );
return (mapping.findForward("editar"));
}
}
No meu JSP eu fiz o seguinte:
<logic:messagesPresent>
<span id="errorsHeader"><bean:message key="errors.validation.header"/></span>
<html:messages id="error">
<li><c:out value="${error}"/></li>
</html:messages>
<hr>
</logic:messagesPresent>
<logic:messagesPresent message="true">
<html:messages id="message" message="true">
<span id="success"><c:out value="${message}"/></span><br>
</html:messages>
</logic:messagesPresent>
<html:form action="funcionario" focus="nome">
<table>
<tr>
<td>Nome:</td>
<td><html:text property="nome"/></td>
</tr>
<tr>
<td>Idade:</td>
<td><html:text property="idade"/></td>
</tr>
</table>
<html:submit/>
</html:form>
Quando eu chamo meu action /contexto/action.do?metodo=editar a pagina já está vindo com as mensagens de que os campos devem ser preenchidos… alguém sabe me falar o que devo estar fazendo de errado?