<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

    搜索

    •  

    積分與排名

    • 積分 - 826292
    • 排名 - 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 閱讀(2474) 評論(0)  編輯  收藏 所屬分類: exceptionstruts 2問題區
    主站蜘蛛池模板: 国产片免费在线观看| 日韩中文字幕免费视频| 中国黄色免费网站| 久久久久国产精品免费网站| 国产又大又粗又长免费视频| 在线免费观看毛片网站| 色偷偷噜噜噜亚洲男人| 777亚洲精品乱码久久久久久| 亚洲成av人片不卡无码| 亚洲av无码无在线观看红杏| 麻豆亚洲AV永久无码精品久久 | 四虎永久在线精品免费影视| 精品国产日韩亚洲一区| 亚洲一二成人精品区| 国产精品亚洲精品青青青| 成人a毛片免费视频观看| 免费无遮挡无码永久视频| 成人免费一区二区无码视频| 亚洲av无码成人精品区| 亚洲激情中文字幕| 亚洲高清乱码午夜电影网| 99视频在线免费观看| 91视频国产免费| 亚洲中文字幕在线乱码| 亚洲午夜一区二区电影院| 亚洲乱码日产精品BD在线观看| 国产亚洲精品美女2020久久| 久久青草免费91观看| 性做久久久久免费观看| 亚洲成人午夜在线| 亚洲色av性色在线观无码| 国产成人亚洲精品电影| 亚洲电影免费在线观看| 国产一级一片免费播放| 亚洲人成在线影院| 特级毛片A级毛片100免费播放| 69视频免费在线观看| 亚洲一区二区三区乱码A| 亚洲AV无码专区在线亚| 中文字幕免费观看视频| 成人免费福利电影|