java jsp validation struts2 interceptor

java - Los interceptores usan el inicio de sesión en Struts 2.0



jsp validation (1)

Estoy diseñando una aplicación básica en la que el usuario proporciona su identificación de usuario y contraseña, y si el inicio de sesión es exitoso, se lo redirecciona a la página de inicio. Ahora, para la validación, quiero usar interceptores si la identificación de usuario y la contraseña no están vacías. Pero no puedo averiguar cómo puedo acceder a los valores de los parámetros de solicitud en Interceptores. Código JSP

<s:form action="Login.action" method="post"> <s:textfield label="Username" name="bean.userId"/> <s:submit value="Login" /> </s:form>

Modelo

@Entity @Table(name="login") public class Login implements Serializable { public Login() { } public Login(String userId1, String userPassword1) { userId1 = userId; userPassword1 = userPassword; } private String userId; private String userPassword; @Id @Column(name="USERID", nullable=false) public String getUserId() { return userId; } public void setUserId(String userId) { this.userId = userId; } @Column(name="USERPASSWORD", nullable=false) public String getUserPassword() { return userPassword; } public void setUserPassword(String userPassword) { this.userPassword = userPassword; } }

Ver

public class LoginAction extends ActionSupport { private Login bean; public String login() { LoginManager manager=new LoginManager(); try { manager.add(getBean()); } catch(Exception e) { System.out.println(e.getMessage()); } return "success"; } public Login getBean() { return bean; } public void setBean(Login bean) { this.bean = bean; }

Interceptador

public class LoggingInterceptor implements Interceptor { public void destroy() { System.out.println("Destorying......"); } public void init() { System.out.println("Initializing......"); } public String intercept(ActionInvocation actionInvocation) throws Exception { ActionConfig config = actionInvocation.getProxy().getConfig(); Map parameters = config.getParams(); String menuId = (String)parameters.get("userId"); System.out.println("Got it:"+menuId); return actionInvocation.invoke(); }

}


Este código debería darle los parámetros de la solicitud de servlet. Supongamos que tiene un valor para el parámetro.

public String intercept(ActionInvocation actionInvocation) throws Exception { Map<String, String[]> parameters = ServletActionContext.getRequest().getParameterMap(); String userId = parameters.get("bean.userId")[0]; System.out.println("Got it:"+userId); return actionInvocation.invoke(); }