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

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

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

    gembin

    OSGi, Eclipse Equinox, ECF, Virgo, Gemini, Apache Felix, Karaf, Aires, Camel, Eclipse RCP

    HBase, Hadoop, ZooKeeper, Cassandra

    Flex4, AS3, Swiz framework, GraniteDS, BlazeDS etc.

    There is nothing that software can't fix. Unfortunately, there is also nothing that software can't completely fuck up. That gap is called talent.

    About Me

     

    學習Eclipse NLS

    今天研究了1下Eclipse的NLS,覺得不錯,與大家分享....
    messages.properties
    key_1=hello world,here is NLS
    key_2=hello {0}, welcome to my blog
    key_3=hello {0}, please reply to{1} if you like this article
    其中的 {0} 代表MessageHelper.bind(MessageHelper.key_2, "gembin"); 里的第1個參數,一次類推
    public class MessageHelper extends NLS {
       //com.exmple.messages 中的點將會被轉換成"/"
      // 所以最終的路徑為:com/exmple/messages.properties
        private static final String BUNDLE_NAME = "com.exmple.messages"; //$NON-NLS-1$
        public static String key_1;
        public static String key_2;
        static{
            initializeMessages(BUNDLE_NAME, MessageHelper.class);
            
        }
     
        /**
         * Bind the given message's substitution locations with the given string value.
         *
         * @param message
         *            the message to be manipulated
         * @param binding
         *            the object to be inserted into the message
         * @return the manipulated String
         */
        public static String bind(String message, Object binding) {
            return NLS.bind(message, binding);
        }

        /**
         * Bind the given message's substitution locations with the given string values.
         *
         * @param message
         *            the message to be manipulated
         * @param binding1
         *            An object to be inserted into the message
         * @param binding2
         *            A second object to be inserted into the message
         * @return
         */
        public static String bind(String message, Object binding1, Object binding2) {
            return NLS.bind(message, binding1, binding2);
        }

        /**
         * Bind the given message's substitution locations with the given string values.
         *
         * @param message
         *            the message to be manipulated bindings
         * @param bindings
         *            An array of objects to be inserted into the message
         * @return the manipulated String
         */
        public static String bind(String message, Object[] bindings) {
            return NLS.bind(message, bindings);
        }

        /**
         * Initialize the given class with the values from the specified message bundle.
         *
         * @param bundleName -
         *            fully qualified path of the class name
         * @param clazz -
         *            the class where the constants will exist
         */
        @SuppressWarnings("unchecked")
        public static void initializeMessages(String bundleName, Class clazz) {
            NLS.initializeMessages(BUNDLE_NAME, MessageHelper.class);
        }
        
        public static void main(String sp[]){
      
              String s=MessageHelper.bind(MessageHelper.key_2, "hello");
              System.out.println(s);
        }

    }

    posted on 2008-01-23 18:50 gembin 閱讀(3699) 評論(4)  編輯  收藏

    評論

    # re: 學習Eclipse NLS 2008-01-24 20:35 guest

    什么是nls  回復  更多評論   

    # re: 學習Eclipse NLS 2008-01-26 15:31 gembin

    Eclipse SRC里的: No need Localized String 1
    可代替ResourceBundle,用來處理資源文件*.properties,效率更好,更方便,很好的擴展性。
    當有Key沒定義,會get a compile error.
    缺點是:必須維護2個文件1個Properties和1個Java文件,他們必須同步  回復  更多評論   

    # re: 學習Eclipse NLS 2008-03-04 21:52 jolly

    請問綁定的類只能是當前類嗎?而且不能用內部類作為綁定類?  回復  更多評論   

    # re: 學習Eclipse NLS 2008-03-05 11:57 gembin

    是可以的。請看如下例子:
    message.properties
    ------------------
    key_1=Say {0} hello to {1} !!
    key_2=Say {0} hello to {1} !!
    key3=Say {0} hello to {1} !!
    key4=Say {0} hello to {1} !!

    TobeBindedMsg.java
    ---------------------
    public class TobeBindedMsg {
    public static String key3;

    static class InnerMsg{
    public static String key4;
    }
    }

    TestNLS.java
    ------------------
    import org.eclipse.osgi.util.NLS;
    public class TestNLS {
    private static final String BUNDLE_NAME = "com.meccala.blog.util.message"; //$NON-NLS-1$
    public static String key_2;
    static {
    NLS.initializeMessages(BUNDLE_NAME, TestNLS.class);
    NLS.initializeMessages(BUNDLE_NAME, Inner.class);
    NLS.initializeMessages(BUNDLE_NAME, TobeBindedMsg.class);
    NLS.initializeMessages(BUNDLE_NAME, TobeBindedMsg.InnerMsg.class);
    }

    static class Inner {
    public static String key_1;
    }

    public static void main(String ggg[]) {
    String s = NLS.bind(Inner.key_1, "1", "gembin");
    System.out.println(s);
    String s1 = NLS.bind(TestNLS.key_2, "2", "gembin");
    System.out.println(s1);
    String s2 = NLS.bind(TobeBindedMsg.key3, "3", "gembin");
    System.out.println(s2);
    String s3 = NLS.bind(TobeBindedMsg.InnerMsg.key4, "4", "gembin");
    System.out.println(s3);
    }
    }



    最后的輸出:
    Say 1 hello to gembin !!
    Say 2 hello to gembin !!
    Say 3 hello to gembin !!
    Say 4 hello to gembin !!
    NOTE:因為Key要求是public static 的所以Inner Class必需是static   回復  更多評論   


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     

    導航

    統計

    常用鏈接

    留言簿(6)

    隨筆分類(440)

    隨筆檔案(378)

    文章檔案(6)

    新聞檔案(1)

    相冊

    收藏夾(9)

    Adobe

    Android

    AS3

    Blog-Links

    Build

    Design Pattern

    Eclipse

    Favorite Links

    Flickr

    Game Dev

    HBase

    Identity Management

    IT resources

    JEE

    Language

    OpenID

    OSGi

    SOA

    Version Control

    最新隨筆

    搜索

    積分與排名

    最新評論

    閱讀排行榜

    評論排行榜

    free counters
    主站蜘蛛池模板: 久久青青草原国产精品免费| 亚洲日韩乱码中文无码蜜桃臀| 亚洲精品成a人在线观看☆| 久久综合给合久久国产免费| 在线亚洲97se亚洲综合在线| 一级毛片无遮挡免费全部| 国产人成免费视频| 亚洲av中文无码乱人伦在线观看 | 亚洲熟妇丰满xxxxx| 99热这里有免费国产精品| 亚洲bt加勒比一区二区| 一个人免费日韩不卡视频| 亚洲邪恶天堂影院在线观看| 日韩免费无码视频一区二区三区| 亚洲人成电影在在线观看网色| 免费人妻无码不卡中文字幕系| 亚洲一区二区三区高清| 国内精自视频品线六区免费| 亚洲国产精品yw在线观看| 成人毛片免费观看视频| 亚洲国产精品网站在线播放| 免费一级毛片不卡不收费| 一级毛片高清免费播放| 亚洲AV无码一区二区乱子伦| 每天更新的免费av片在线观看| 亚洲国产精品综合久久20| 精品免费久久久久久成人影院| 特级aa**毛片免费观看| 亚洲最大激情中文字幕| 99久久99久久精品免费观看| ASS亚洲熟妇毛茸茸PICS| 日本中文一区二区三区亚洲| 中文字幕无码免费久久9一区9| 亚洲一区二区三区日本久久九| 全免费A级毛片免费看网站| 无码 免费 国产在线观看91| 亚洲AV永久无码精品水牛影视| 精品国产污污免费网站aⅴ| 国产精品久久久久久亚洲影视| 亚洲精品无码午夜福利中文字幕 | 妻子5免费完整高清电视|