struts2加上拦截器后,表单参数不能实例化为对象了!该怎么解决
struts2加上拦截器后,表单参数不能实例化为对象了!!struts2加上拦截器后,表单参数不能实例化为对象了,报空
struts2加上拦截器后,表单参数不能实例化为对象了!!
struts2加上拦截器后,表单参数不能实例化为对象了,报空指针错误,去掉栏截器之后就能正常实例化!!
[解决办法]
[解决办法]LZ看你的拦截器是怎么加的。
如果是在Action配置自定义拦截器,struts2默认拦截器必须手动引用。
例:
<action name="Test" class="com.TestAction">
<interceptor-ref name="testInterceptor" />
<interceptor-ref name="defaultStack" /> <result>/test.jsp</result>
</action>
[解决办法]<interceptors>
<interceptor name="checkusernameInterceptor" class="com.struts2.interceptor.interceptor"/> //这个是定义的一个拦截器
<interceptor-stack name="checkInterceptor">
<interceptor-ref name="defaultStack"/> //这个是默认的拦截器,如果你没有这个默认的拦截器的话,里面很多功能都不能用,例如上传下载。
<interceptor-ref name="checkusernameInterceptor"/>
</interceptor-stack>
</interceptors>
/*********************************/
然后你建一个类interceptor,implements Interceptor。
public String intercept(ActionInvocation ai) throws Exception {
System.out.println("进入拦截器!!!");
String username=ServletActionContext.getRequest().getParameter("username"); //例如你先要获得reuqest里面的对象,这样才可以进行下面的判断!!!
if(username!=null && !username.equals("")){
ai.invoke(); //判断正确,才跳转,执行action!!
}
return "message";
}