http://bbsanwei.iteye.com/blog/271299
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
package org.bbs.util; import java.text.MessageFormat; import java.util.MissingResourceException; import java.util.ResourceBundle; public class MessageResource { private ResourceBundle rb; //资源绑定 /** * 构造器 * @param props Properties 资源绑定 */ public MessageResource(ResourceBundle rb) { this.rb = rb; } /** * 得到消息字符 * @param key String 键 * @return String */ public String getString(String key) { try { return rb.getString(key); } catch (MissingResourceException ex) { return "undefined"; } } /** * 得到消息资源 * @param key String 键 * @param args Object[] 可变消息 * @return String */ public String getString(String key, Object[] args) { try { String temp = rb.getString(key); MessageFormat mFormat = new MessageFormat(temp); return mFormat.format(temp, args); } catch (MissingResourceException ex) { return "undefined"; } } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
package org.bbs.util; import java.util.HashMap; import java.util.Locale; import java.util.Map; import java.util.ResourceBundle; public class MessageResourceFactory { private static MessageResourceFactory factory = new MessageResourceFactory(); //存放消息资源 private Map msgResourceMap = null; private MessageResourceFactory() { msgResourceMap = new HashMap(); } public static MessageResourceFactory getInstance() { return factory; } /** * 创建消息资源 * @param name String 消息资源文件名 * @param locale Locale * @return MessageResource */ public MessageResource createMessageResource(String fileResName, Locale locale) { Object msgResObj = msgResourceMap.get(fileResName); if (msgResObj == null) { ResourceBundle rb = ResourceBundle.getBundle(fileResName, locale); MessageResource msgRes = new MessageResource(rb); msgResourceMap.put(fileResName, msgRes); return msgRes; } else { return (MessageResource)msgResObj; } } } |
1 2 3 4 5 6 7 |
button.add=Add button.update=Modify button.delete=Delete button.refresh=Refresh state.success=Operation Success state.failure=Operation Failure message=The disk's {0} contains {1} files. |