Estou com problema em como utilizar o validation do Strunt 2.
A dúvida é como implementar. Faço tudo igual o site do guide do struts mas não funciona.
vou postar os códigos:
login.jsp
<div id="form_login">
<fieldset>
<legend>Acesso Restrito</legend>
<s:form name="form_login" action="login.jsp!acessoPermissionario">
<s:textfield name="nrIdentidade" label="Identidade" onkeypress="mascara(this,soNumeros)" maxlength="12"></s:textfield>
<s:password name="deSenha" label="Senha"></s:password>
<s:submit cssClass="submit" value="Acessar"></s:submit>
</s:form>
</fieldset>
// Utilizo isso aki para informar que o usuário não existe
<s:actionmessage cssClass="avisos"/>
</div>
LoginAction
package br.mil.siscop.action;
import java.util.Map;
import org.apache.struts2.interceptor.SessionAware;
import br.mil.siscop.bean.Permissionario;
import br.mil.siscop.bean.SolicitacaoPNR;
import br.mil.siscop.dao.PermissionarioDAO;
import br.mil.siscop.dao.SolicitacaoPNRDAO;
import com.opensymphony.xwork2.ActionSupport;
public class LoginAction extends ActionSupport implements SessionAware{
private static final long serialVersionUID = 1L;
private String nrIdentidade;
private String deSenha;
private Permissionario perm;
private Map session;
private boolean flagMenuSolicitarPNREditavel = false;
private SolicitacaoPNR solicitacaoPNR;
public SolicitacaoPNR getSolicitacaoPNR() {
return solicitacaoPNR;
}
public void setSolicitacaoPNR(SolicitacaoPNR solicitacaoPNR) {
this.solicitacaoPNR = solicitacaoPNR;
}
public boolean isFlagMenuSolicitarPNREditavel() {
return flagMenuSolicitarPNREditavel;
}
public void setFlagMenuSolicitarPNREditavel(boolean flagMenuSolicitarPNREditavel) {
this.flagMenuSolicitarPNREditavel = flagMenuSolicitarPNREditavel;
}
public Map getSession() {
return session;
}
public void setSession(Map session) {
this.session = session;
}
public String getNrIdentidade() {
return nrIdentidade;
}
public void setNrIdentidade(String nrIdentidade) {
this.nrIdentidade = nrIdentidade;
}
public String getDeSenha() {
return deSenha;
}
public void setDeSenha(String deSenha) {
this.deSenha = deSenha;
}
public Permissionario getPerm() {
return perm;
}
public void setPerm(Permissionario perm) {
this.perm = perm;
}
public String acessoPermissionario() {
try {
perm = PermissionarioDAO.getInstance().validaLogin(nrIdentidade, deSenha);
if (perm == null) {
addActionMessage("Cadastro não encontrado.");
return ActionSupport.ERROR;
}else{
session.put("nrIdentidade", nrIdentidade);
session.put("permLogado", perm);
solicitacaoPNR = SolicitacaoPNRDAO.getInstance().pesquisarSolicitacaoPNR(nrIdentidade);
if(perm.getPermSituacao().getIdPermSituacao() == 2){
this.flagMenuSolicitarPNREditavel = true;
}
return SUCCESS;
}
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
}
validation.xml (fica no src)
<!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="nrIdentidade">
<field-validator type="required">
<message>You must enter a value for bar.</message>
</field-validator>
<field-validator type="int">
<param name="min">10</param>
<param name="max">12</param>
<message>bar must be between ${min} and ${max}, current value is ${bar}.</message>
</field-validator>
</field>
<validator type="expression">
<param name="expression">foo lt bar </param>
<message>Foo must be greater than Bar. Foo = ${foo}, Bar = ${bar}.</message>
</validator>
</validators>
não inseri nada no web.xml nem no struts.xml
quando aciono o submit do form deixando os campos em branco so me é retornado que o usuário não foi encontrado.
Aguardo ajuda!
