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

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

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

    Struts從1.1版本開始支持把應用程序分為多個模塊,每個模塊可以看作獨立的應用程序,在帶來方便的同時,我也發現了一些問題。比如有一個struts應用程序分了大約十個模塊,現在有以下問題不知道大家一般是怎么解決的:

    1、因為要進行驗證,所以在每個模塊對應的資源文件里都要有“errors.required={0} is required.”等資源,有沒有只用在一個文件里定義的方法?


    2、用tiles的時候,要在每個模塊對應的tiles-defs.xml里定義幾乎相同的definition,有沒有只用在一個文件里定義的方法?(我試過在缺省模塊里定義一個definition,然后在模塊里extends它,但不行,extends似乎只找當前模塊)


    3、使用ExceptionHandler的時候,為什么在exception標簽里指定了bundle屬性還是只在當前模塊里找資源?我希望把一些重復使用的異常處理聲明在一個文件里,例如NotLoginException、NoSuchObjectException等等,并且它們對應的key也指向同一個資源文件里的資源(利用bundle屬性),怎么實現?


    經過一段時間的摸索,第一個和第三個問題基本上解決了,其實它們可以看作同一類問題,就是資源的問題。在struts-config-xxx.xml里定義資源文件時,可以指定一個factory屬性,不指定時使用缺省的“org.apache.struts.util.PropertyMessageResourcesFactory”類。我的解決方法是自定義一個CustomMessageResourcesFactory類,將多個資源文件以逗號分隔的形式作為參數(即message-resources的parameter屬性)傳給它,在需要資源的地方會遍歷它們進行查找。同時還要自定義一個CustomMessageResources類,它的getMessage()方法里是查找資源的關鍵代碼,而factory只是解析逗號分隔的參數構造并返回CustomMessageResources實例。


    CustomMessageResourcesFactory的代碼比較簡單,如下所示:



    package eg;

    import java.util.Arrays;

    import org.apache.struts.util.MessageResources;
    import org.apache.struts.util.MessageResourcesFactory;

    public class CustomMessageResourcesFactory extends MessageResourcesFactory{

        public MessageResources createResources(String config) {
            
            return new CustomMessageResources(Arrays.asList(config.split(",")));
        }

    }
     

     


    CustomMessageResources就稍微復雜一些,不過很幸運,我在網上找到了一個完全符合自己要求的類,下載地址在

    <message-resources factory="eg.CustomMessageResourcesFactory" 
        parameter="eg.ApplicationResources,eg.ErrorResources" />
     

     


    上面參考了這篇文章

    posted on 2008-01-04 13:35 LifeNote 閱讀(1057) 評論(0)  編輯  收藏 所屬分類: Java 、HibernateSpringstruts
     
    主站蜘蛛池模板: 国产精品冒白浆免费视频| 无码永久免费AV网站| 亚洲无线观看国产精品| a免费毛片在线播放| 亚洲国产香蕉人人爽成AV片久久 | 国产一卡2卡3卡4卡2021免费观看| 国产亚洲精品岁国产微拍精品| 在线免费观看h片| 久久精品国产亚洲网站| 精品一区二区三区免费 | 国内精品久久久久影院亚洲| 大地资源免费更新在线播放| 毛片在线全部免费观看| 亚洲国产精品SSS在线观看AV| 中国人免费观看高清在线观看二区| 怡红院亚洲怡红院首页| 久久这里只精品国产免费10| 亚洲日本在线观看| 99久久这里只精品国产免费| 亚洲国产精品自在自线观看| 免费人成网站在线播放| 91视频免费观看| 亚洲伊人久久大香线蕉结合| 国产免费人成视频在线观看| 51午夜精品免费视频| 久久亚洲国产精品五月天| 91精品免费国产高清在线| 欧洲亚洲国产精华液| 久久精品国产亚洲一区二区| 在线看片免费不卡人成视频| 亚洲欧美成人一区二区三区| 国产91免费视频| 在线亚洲v日韩v| 亚洲视频在线播放| 日韩高清在线免费观看| 两个人看的www高清免费观看| 亚洲同性男gay网站在线观看| 免费中文字幕在线观看| 久久一本岛在免费线观看2020| 亚洲免费视频观看| 久久久久亚洲?V成人无码|