ex6_44.txt
来自「j2ee core design patterns」· 文本 代码 · 共 45 行
TXT
45 行
Example 6.44 View Factory
public class ViewFactory {
private static ViewFactory ourInstance;
public synchronized static ViewFactory getInstance() {
if (ourInstance == null) {
ourInstance = new ViewFactory();
}
return ourInstance;
}
public String getViewTemplate(RequestContext requestContext,
String logicalViewName) {
String viewHandle;
Locale locale = requestContext.getUserLocale();
String userAgent = requestContext.getUserAgent();
// Identify ViewHandle from View Map
viewHandle = getViewHandle(logicalViewName, userAgent, locale);
return viewHandle;
}
private String getViewHandle(String logicalViewName,
String userAgent, Locale locale) {
// select the View template to be displayed based on
// logical view name, user locale, device type
ViewMapKey viewKey = new ViewMapKey(
logicalViewName, userAgent, locale);
return (String) viewMap.get(viewKey);
}
private ViewFactory() {
initializeViewMap();
}
private void initializeViewMap() {
// initialization stub - This information would typically be
// loaded from a ViewRegistry
// viewMap.put ( logicalViewName, viewTemplateName);
}
private Map viewMap = new HashMap();
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?