04/05/2010, 10:04
|
| | Fecha de Ingreso: mayo-2010
Mensajes: 1
Antigüedad: 14 años, 7 meses Puntos: 0 | |
Problema raro con Struts2 Buenas tardes,
llevo poco tiempo en Struts2 y estoy probando la parte de Validacion.
Estoy desarrollando un formulario con dos textfield de los que hay que validar si estan vacios o no mediante el validador requiredstring.
El problema me viene cuando al pulsar el submit del formulario con alguno de los dos campos vacios , en vez de mostrarme el mensaje de error debido a la validacion erronea me redirige siempre a la pagina mapeada por el SUCCESS (da la impresion como si no se ejecutara el filtro de validacion del defaultStack).
Esto es el codigo que tengo definido:
*strut.xml
<?xml version="1.0" encoding="windows-1250"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="actions" extends="struts-default">
<action name="login" class="struts2.action.LoginAction">
<result name="input">login.jsp</result>
<result name="success">successLogin.jsp</result>
</action>
<action name="test" class="struts2.action.CounterAction">
<result name="SUCCESS">Visits.jsp</result>
<result>Visits.jsp</result>
</action>
</package>
</struts>
*LoginAction-validation.xml
<?xml version="1.0" encoding="windows-1250"?>
<!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="user">
<field-validator type="requiredstring">
<message>You must enter a mandatory user name</message>
</field-validator>
</field>
<field name="passwd">
<field-validator type="requiredstring">
<message>You must enter a mandatory key passwd</message>
</field-validator>
</field>
</validators>
*LoginAction.java
package struts2.action;
import com.opensymphony.xwork2.ActionSupport;
public class LoginAction extends ActionSupport {
String user;
String passwd;
String msg;
@Override
public String execute() throws Exception {
return SUCCESS;
}
public String getUser() {
return user;
}
public void setUser(String user) {
this.user = user;
}
public String getPasswd() {
return passwd;
}
public void setPasswd(String passwd) {
this.passwd = passwd;
}
}
*login.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<s:form action="login.action" method="post">
<s:textfield name="user" label="Username"/>
<br>
<sassword name="passwd" label="Passwd"/>
<br>
<s:submit value="Login"/>
</s:form>
</body>
</html>
Alguna sugerencia?.
Gracias.
Un saludo. |