defaulttextprovider.java
来自「在Struts2中的jar包xwork的源代码.版本为2.0.7」· Java 代码 · 共 133 行
JAVA
133 行
/* * Copyright (c) 2002-2006 by OpenSymphony * All rights reserved. */package com.opensymphony.xwork2;import com.opensymphony.xwork2.util.LocalizedTextUtil;import com.opensymphony.xwork2.util.ValueStack;import java.io.ObjectStreamException;import java.io.Serializable;import java.util.List;import java.util.ResourceBundle;import java.util.ArrayList;import java.util.Arrays;import java.text.MessageFormat;/** * DefaultTextProvider gets texts from only the default resource bundles associated with the * LocalizedTextUtil. * * @author Jason Carreira <jcarreira@gmail.com> * @author Rainer Hermanns * @see LocalizedTextUtil#addDefaultResourceBundle(String) */public class DefaultTextProvider implements TextProvider, Serializable, Unchainable { private static final Object[] EMPTY_ARGS = new Object[0]; public static final DefaultTextProvider INSTANCE = new DefaultTextProvider(); private DefaultTextProvider() { } public String getText(String key) { return LocalizedTextUtil.findDefaultText(key, ActionContext.getContext().getLocale()); } public String getText(String key, String defaultValue) { String text = getText(key); if (text == null) { return defaultValue; } return text; } public String getText(String key, List args) { Object[] params; if (args != null) { params = args.toArray(); } else { params = EMPTY_ARGS; } return LocalizedTextUtil.findDefaultText(key, ActionContext.getContext().getLocale(), params); } public String getText(String key, String[] args) { Object[] params; if (args != null) { params = args; } else { params = EMPTY_ARGS; } return LocalizedTextUtil.findDefaultText(key, ActionContext.getContext().getLocale(), params); } public String getText(String key, String defaultValue, List args) { String text = getText(key, args); if (text == null) { MessageFormat format = new MessageFormat(defaultValue); format.setLocale(ActionContext.getContext().getLocale()); format.applyPattern(defaultValue); Object[] params; if (args != null) { params = args.toArray(); } else { params = EMPTY_ARGS; } return format.format(params); } return text; } public String getText(String key, String defaultValue, String[] args) { String text = getText(key, args); if (text == null) { MessageFormat format = new MessageFormat(defaultValue); format.setLocale(ActionContext.getContext().getLocale()); format.applyPattern(defaultValue); if (args == null) { return format.format(EMPTY_ARGS); } return format.format(args); } return text; } public String getText(String key, String defaultValue, String obj) { List args = new ArrayList(1); args.add(obj); return getText(key, defaultValue, args); } public String getText(String key, String defaultValue, List args, ValueStack stack) { //we're not using the value stack here return getText(key, defaultValue, args); } public String getText(String key, String defaultValue, String[] args, ValueStack stack) { //we're not using the value stack here return getText(key, defaultValue, Arrays.asList(args)); } public ResourceBundle getTexts(String bundleName) { return LocalizedTextUtil.findResourceBundle(bundleName, ActionContext.getContext().getLocale()); } public ResourceBundle getTexts() { return null; } private Object readResolve() throws ObjectStreamException { return INSTANCE; }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?