📄 combomessages.java
字号:
package com.onetsoft.fastjsp;
import java.util.Map;
import java.util.List;
import java.util.ArrayList;
import java.util.Locale;
import java.text.MessageFormat;
/**
* 组合字符串资源
* 字符串资源提取顺序:布局模块 -> 页面模块 ->全局资源
* 注:一般每个模块对应设计自己的字符串资源,防止主键混淆
*
* @see PageModule#getI18nStrings(java.util.Locale)
* @see Configuration#getMessagesFactory()
*/
class ComboMessages implements Messages {
private Locale locale = null;
Map map = null;
public ComboMessages(AbstractPageService service) {
List list = new ArrayList(3);
locale = service.localeStateManager.getLocale();
if (service.servicer.pageParams.layoutModule != null) {
Map t = service.servicer.pageParams.layoutModule.getI18nStrings(locale);
if (t != null && t.size() > 0) {
list.add(t);
}
}
Map t = service.servicer.module.getMessagesFactory().getI18nMap(locale);
if (t != null && t.size() > 0) {
list.add(t);
}
this.map = new ComboReadMap((Map[]) list.toArray(new Map[list.size()]));
}
public Locale getLocale() {
return locale;
}
public String getMessage(String key) {
String s = (String) map.get(key);
return s != null ? s : new StringBuffer().append('[').append(key.toUpperCase()).append(']').toString();
}
public String format(String key, Object[] arguments) {
String s = (String) map.get(key);
return s != null ? MessageFormat.format(s, arguments) : new StringBuffer().append('[').append(key.toUpperCase()).append(']').toString();
}
public String format(String key, Object argument) {
return format(key, new Object[]{argument});
}
public String format(String key, Object argument1, Object argument2) {
return format(key, new Object[]{argument1, argument2});
}
public String format(String key, Object argument1, Object argument2, Object argument3) {
return format(key, new Object[]{argument1, argument2, argument3});
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -