<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆 - 6  文章 - 129  trackbacks - 0
    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    常用鏈接

    留言簿(14)

    隨筆檔案(6)

    文章分類(467)

    文章檔案(423)

    相冊

    收藏夾(18)

    JAVA

    搜索

    •  

    積分與排名

    • 積分 - 825709
    • 排名 - 49

    最新評論

    閱讀排行榜

    評論排行榜

    今天寫了一個自定義攔截器.卻遇到了以下問題

    package dgut.ke.interceptors;

    import java.util.ArrayList;
    import java.util.List;

    import javax.servlet.http.HttpServletRequest;

    import org.apache.struts2.ServletActionContext;

    import com.opensymphony.xwork2.Action;
    import com.opensymphony.xwork2.ActionContext;
    import com.opensymphony.xwork2.ActionInvocation;
    import com.opensymphony.xwork2.interceptor.MethodFilterInterceptor;

    import dgut.ke.model.Catalog;
    import dgut.ke.model.Publish;
    import dgut.ke.model.Subject;
    import dgut.ke.service.ICatalogService;
    import dgut.ke.service.IPublishService;
    import dgut.ke.service.ISubjectService;

    public class AddBookInterceptor extends MethodFilterInterceptor {

     /**
      *
      */
     private static final long serialVersionUID = 1135497226250835266L;

     private ISubjectService subjectService ;
     private ICatalogService catalogService ;
     private IPublishService publishService ;

     public ICatalogService getCatalogService() {
      return catalogService;
     }

     public IPublishService getPublishService() {
      return publishService;
     }

     public ISubjectService getSubjectService() {
      return subjectService;
     }

     public void setCatalogService(ICatalogService catalogService) {
      this.catalogService = catalogService;
     }

     public void setPublishService(IPublishService publishService) {
      this.publishService = publishService;
     }

     public void setSubjectService(ISubjectService subjectService) {
      this.subjectService = subjectService;
     }

     @Override
     protected String doIntercept(ActionInvocation invoation) throws Exception {
      // TODO 自動生成方法存根
      System.out.println("-------- 攔截器開始執行 ----------");
      List<Subject> subject_list = (ArrayList<Subject>)subjectService.findAll();
      List<Catalog> catalog_list = (ArrayList<Catalog>)catalogService.findAll();
      List<Publish> pubish_list =  (ArrayList<Publish>)publishService.findAll();

      //ActionContext act = ActionContext.getContext() ;
      ActionContext act = invocation.getInvocationContext() ;
      HttpServletRequest request = (HttpServletRequest) act.get(ServletActionContext.HTTP_REQUEST) ;
      request.setAttribute("subject_list", subject_list) ;
      request.setAttribute("catalog_list", catalog_list) ;
      request.setAttribute("publish_list", pubish_list) ;
      System.out.println("-------- 攔截器執行結束 ----------");
      return Action.INPUT;
     }

    }
    為了實現request.setAttribute(String str, Object obj) ;.最先是讓上面的類實現ServletRequestAware 接口.
    但是在運行的時候卻出現了空指針異常。后來改成以上的代碼就可以正常運行,但是還是
    不太明白
    曾經在一本書上看到一段話:構建interceptor最重要的原則:interceptor必須是無狀態的,并且不能
    夠使用任何ActionInvocation提供范圍以外的API



    posted on 2007-10-06 21:54 Ke 閱讀(2472) 評論(0)  編輯  收藏 所屬分類: exceptionstruts 2問題區
    主站蜘蛛池模板: 一级毛片免费视频| 亚洲麻豆精品国偷自产在线91| 国产亚洲玖玖玖在线观看| 免费亚洲视频在线观看| 永久免费A∨片在线观看| 一本色道久久88—综合亚洲精品| 亚洲第一黄色网址| 亚洲黄色免费在线观看| 免费看一级一级人妻片| 亚洲精品电影天堂网| 亚洲国产黄在线观看| 67pao强力打造高清免费| 美女羞羞免费视频网站| 久久精品国产亚洲av麻豆小说| 在线观看亚洲免费| 2021在线观看视频精品免费| 特级aaaaaaaaa毛片免费视频| 337p日本欧洲亚洲大胆精品555588 | 亚洲精品成a人在线观看夫 | 老湿机一区午夜精品免费福利| 亚洲天堂在线播放| 免费v片在线观看品善网| 波多野结衣免费在线| 91成人免费观看在线观看| 亚洲精品天堂无码中文字幕| 内射少妇36P亚洲区| 亚洲综合另类小说色区色噜噜| 毛片基地免费观看| 最近最好最新2019中文字幕免费| 一道本不卡免费视频| 亚洲国产成人无码AV在线影院| 337p日本欧洲亚洲大胆精品555588 | 成人人免费夜夜视频观看| 少妇人妻偷人精品免费视频 | 91av视频免费在线观看| 中文字幕在线视频免费观看| 欧美色欧美亚洲另类二区| 亚洲精品一二三区| 亚洲fuli在线观看| 亚洲国产第一页www| 国产成人亚洲综合无码精品|