首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

struts2加上拦截器后,表单参数不能实例化为对象了!该怎么解决

2012-05-22 
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";
}

热点排行