Rory's Blog
          Happy study,Happy work,Happy life
          posts - 22,  comments - 46,  trackbacks - 0
          只是自己的想法,不對不要扔雞蛋哦。

          今天突發奇想的實現一個小小的cache。把分類categories放入map中,cache起來。
          ????private?void?cache()?{
          ????????
          if(log.isDebugEnabled()){
          ????????????log.debug(
          "Starting?cache?the?categories");
          ????????}
          ????????cacheCategoryMap?
          =?new?HashMap();
          ????????cacheCategoryMap.put(
          "categories",categoryDao.getCategories());
          ????}

          然后我想在interceptor里面把categories寫到ognlvaluestack里面這樣我在ftl里面就可以<#list categories>....</#list>了。因為這個是在每個頁面的header.ftl里面的。我也就不需要再每個action里面去get一下了。
          剛開始我implements Interceptor

          ????????final?OgnlValueStack?stack?=?ActionContext.getContext().getValueStack();
          ????????stack.setValue(
          "categories"?,categoryManager.getCategories());
          ????????
          return?invocation.invoke();
          可是這樣也不可以。后來我想到是不是action執行完畢之后就把stack中的這個值清空了我又用了。AroundInterceptor 我想在after里面去設置不就可以了。
          ????protected?void?after(ActionInvocation?dispatcher,?String?result)?throws?Exception?{
          ????????
          final?OgnlValueStack?stack?=?ActionContext.getContext().getValueStack();
          ????????stack.setValue(
          "categories"?,categoryManager.getCategories());
          ????}
          可是這樣還是不可以。我暈了。我想是不是要在action里面聲明一下categories。
          ????private?List?categories;

          ????
          public?List?getCategories()?{
          ????????
          return?categories;
          ????}


          ????
          public?void?setCategories(List?categories)?{
          ????????
          this.categories?=?categories;
          ????}

          然后在before里面去get就可以了。
          ????protected?void?before(ActionInvocation?invocation)?throws?Exception?{
          ????????
          final?OgnlValueStack?stack?=?ActionContext.getContext().getValueStack();
          ????????stack.setValue(
          "categories"?,categoryManager.getCategories());
          ????}

          總算實現了。不過還要在每個action里面聲明一下categories,這樣還是很不好的。剛才有人建議用filter。我在試試吧.


          http://leaf.jdk.cn/index.php/archives/91
          posted on 2006-03-21 11:37 莫多 閱讀(1130) 評論(0)  編輯  收藏 所屬分類: Webwork

          <2006年3月>
          2627281234
          567891011
          12131415161718
          19202122232425
          2627282930311
          2345678

          常用鏈接

          留言簿(1)

          隨筆分類(27)

          隨筆檔案(22)

          Friends

          搜索

          •  

          積分與排名

          • 積分 - 62252
          • 排名 - 845

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 昭通市| 临洮县| 德江县| 庆安县| 宜都市| 高密市| 卓资县| 石首市| 鄯善县| 阜新市| 潢川县| 芦溪县| 博罗县| 江门市| 封开县| 桂平市| 东乌珠穆沁旗| 获嘉县| 亳州市| 丹东市| 新乐市| 正安县| 铁力市| 新闻| 措勤县| 青岛市| 新源县| 辽宁省| 淄博市| 夏邑县| 泸溪县| 北辰区| 海盐县| 乡城县| 聂拉木县| 玛纳斯县| 台山市| 柘荣县| 浦城县| 乐陵市| 莱州市|