你的位置:首页 > Java教程

[Java教程]struts2默认拦截器defaultStack


  第一次使用Struts2.3.20,前台页面向后台传值,怎么总是提示值为null,查找半天原来是struts配置文件的action中忘记引入defaultStack拦截器了,所以即使Action中万事(封装参数的getter和setter)俱备,还是无法达到预期效果。

  使用自定义的拦截器配置在struts配置文件的action中,还要引入defaultStack,否则使用了modelDriven的formBean将不能获取到form表单中字段的值。

<package name="defaults" extends="json-default">    <interceptors>      <interceptor name="methodInterceptor" class="methodInterceptor"></interceptor>      <interceptor name="loginInterceptor" class="loginInterceptor"></interceptor>      <interceptor-stack name="loginStack">        <interceptor-ref name="methodInterceptor"></interceptor-ref>        <interceptor-ref name="loginInterceptor"></interceptor-ref>        <interceptor-ref name="defaultStack"></interceptor-ref>      </interceptor-stack>    </interceptors>          <global-results>      <result name="error" type="redirect">/405.jsp</result>      <result name="toIndex" type="redirect">index</result>      <result name="toLogin" type="redirect">login</result>    </global-results>  </package>