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

          搜索

          •  

          積分與排名

          • 積分 - 62476
          • 排名 - 845

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 林周县| 饶阳县| 高碑店市| 孙吴县| 霍城县| 扎鲁特旗| 双城市| 洛扎县| 延边| 东台市| 青阳县| 嘉善县| 翁牛特旗| 清河县| 沁水县| 大安市| 白城市| 尼玛县| 大悟县| 平谷区| 贺州市| 邹城市| 法库县| 麦盖提县| 汝阳县| 右玉县| 寿光市| 乌苏市| 岱山县| 苗栗市| 新野县| 皮山县| 固镇县| 应城市| 普定县| 炉霍县| 马尔康县| 平安县| 中卫市| 类乌齐县| 三台县|