struts2的prepared拦截器

来源:互联网 发布:java 文件名带点 编辑:程序博客网 时间:2024/06/13 23:42

问题:由于modelDriven拦截器的执行优于action内方法的执行,
导致压入栈定的对象为成员变量中new出来的没有值的对象
想要给该model赋值需要使用一个parepar拦截器

1.action类实现Preparable接口
2.则prepareDoXXX 或者prepareXX方法 会在XXX方法前执行

public void prepareDoDesignSurvey() throws Exception {
 this.model = surveyService.getSurveyWithChildren(sid);
}
3.配置拦截器
  <interceptors>
            <!-- 登陆拦截器 -->
            <interceptor name="loginInterceptor" class="cn.itcast.surveypark.struts.interceptor.LoginInterceptor" />
            <!-- 自定义拦截器栈 -->
            <interceptor-stack name="loginStack">
                <interceptor-ref name="loginInterceptor" />
                <!-- 该拦截器栈专门为prepare和model驱动而是用 -->
                <interceptor-ref name="paramsPrepareParamsStack" />
            </interceptor-stack>
        </interceptors>
        <!-- 定义默认拦截器栈 -->
        <default-interceptor-ref name="loginStack" />

原创粉丝点击