Java Struts 2.0中登录时使用的拦截器
我正在设计一个基本的应用程序,其中用户提供他的用户id和密码,如果登录成功,他将被重定向到主页。现在,对于验证,如果用户id和密码不是空的,我想使用拦截器。但我无法找到如何访问拦截器中请求参数的值。 JSP代码Java Struts 2.0中登录时使用的拦截器,java,jsp,validation,struts2,interceptor,Java,Jsp,Validation,Struts2,Interceptor,我正在设计一个基本的应用程序,其中用户提供他的用户id和密码,如果登录成功,他将被重定向到主页。现在,对于验证,如果用户id和密码不是空的,我想使用拦截器。但我无法找到如何访问拦截器中请求参数的值。 JSP代码 <s:form action="Login.action" method="post"> <s:textfield label="Username" name="bean.userId"/> <s:submit value="Lo
<s:form action="Login.action" method="post">
<s:textfield label="Username" name="bean.userId"/>
<s:submit value="Login" />
</s:form>
看法
拦截器
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();
}
}此代码应提供servlet请求中的参数。假设参数只有一个值
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();
}
publicstringintercept(ActionInvocation-ActionInvocation)引发异常
{
映射参数=ServletActionContext.getRequest().getParameterMap();
字符串userId=parameters.get(“bean.userId”)[0];
System.out.println(“得到它:+userId”);
返回actionInvocation.invoke();
}
您是否编写了拦截器?显示代码。@RomanC:我已经编辑了这个问题,现在请检查它是否有效!!!!!!Thanx@RomanC:D有很多。但有一件事我还是无法得到,我尝试了这种方法来获取Map中的所有参数,但我调用了ActionInvocation对象,得到了userId的值,但它们不是可读的形式,我甚至尝试使用toString()方法。这个东西是如何使用ServletActionContext工作的?它使用servlet请求,使用直接ServletAPI获取其参数。ServletActionContext是一个助手类,它使用静态方法访问拦截器中的servlet人员。
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();
}
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();
}