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 莫多 閱讀(1138) 評論(0)  編輯  收藏 所屬分類: Webwork

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

          常用鏈接

          留言簿(1)

          隨筆分類(27)

          隨筆檔案(22)

          Friends

          搜索

          •  

          積分與排名

          • 積分 - 62475
          • 排名 - 845

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 麻栗坡县| 阳东县| 颍上县| 宜君县| 安仁县| 上杭县| 利津县| 陆川县| 华蓥市| 麦盖提县| 建昌县| 长海县| 扎赉特旗| 东港市| 仁布县| 师宗县| 张家界市| 平舆县| 怀远县| 辽阳县| 墨竹工卡县| 富顺县| 洪洞县| 民丰县| 莲花县| 六盘水市| 肥城市| 合阳县| 应用必备| 潜江市| 台东市| 浠水县| 深水埗区| 封开县| 剑阁县| 平昌县| 钟山县| 兴业县| 成武县| 平远县| 余干县|