/**
*
* 国际化文件的读取
* <功能详细描述>
* @author zengqiang
* @version [版本号, 2009-8-18]
* @see [相关类/方法]
*/
public class Internationalization
{
private static Map<String, String> languageMap = new HashMap<String, String>();
private static String PATH = null;
/**
* 初始化PATH
*/
@SuppressWarnings("static-access")
public Internationalization(String projectName)
{
this.PATH =
PortalHelper.getInstance().getURL("dpf_dms") == null ? System.getProperty("catalina.home")
+ File.separatorChar + "webapps" + projectName + File.separatorChar + "WEB-INF" + File.separatorChar
+ "classes" + File.separatorChar : PortalHelper.getInstance().getURL("dpf_dms") + File.separatorChar
+ "WEB-INF" + File.separatorChar + "classes" + File.separatorChar;
}
/** 读取国际化文件
* @param language 语种
* @throws IOException
*/
public static String getProperties(String language, String key)
throws IOException
{
DebugLogger.inf("getProperties method param language:" + language + " param key:" + key);
if (null != languageMap.get("language"))
{
if (language.equals(languageMap.put("language", language)))
{
Properties propertys;
try
{
propertys = Tools.loadProperties(PATH + "dpf_" + language + ".properties");
if (null != key)
{
return propertys.getProperty(key);
}
}
catch (InitException e1)
{
DebugLogger.err("loadProperties to Exception", e1);
e1.printStackTrace();
}
}
else
{
languageMap.put("language", language);
}
}
else
{
languageMap.put("language", language);
}
return null;
}
/**
* 根据国际化名称得到值
*/
public static String getProperty(String key)
{
DebugLogger.inf("getProperty method param key:" + key);
try
{
return getProperties(languageMap.get("language"), key);
}
catch (IOException e)
{
DebugLogger.err("getProperty to Exception", e);
e.printStackTrace();
}
return "Key_Error";
}
}
public final class Tools{
public static Properties loadProperties(String fileURL)
throws InitException
{
Properties prop = new Properties();
FileInputStream in = null;
try
{
File f = new File(fileURL);
if (!f.exists())
{
throw new InitException("Can't find properties file from URL [" + f.getAbsolutePath() + "].");
}
in = new FileInputStream(f);
prop.load(in);
}
catch (IOException e)
{
}
}
}
分享到:
相关推荐
java国际化中文乱码问题解决包ResourceBundleEditor_v0.8.0.zip
java web 开发速学宝典第八章 李宁著 。实现国际化功能最直接的方法就是为每一个...为了解决这个问题,现在普遍的做法是将需要国际化的资源信息保存在资源文件中,并根据本地信息来读取相应资源文件中的国际化信息。
自己整理的sping boot国际化,切换中英文页面,切换时,将当前语言类型保存到session中,保证跳转页面时,语言类型沿用上个页面的语言类型
java.util 包含 collection 框架、遗留的 collection 类、事件模型、日期和时间设施、国际化和各种实用工具类(字符串标记生成器、随机数生成器和位数组)。 java.util.concurrent 在并发编程中很常用的实用工具类...
java.util 包含 collection 框架、遗留的 collection 类、事件模型、日期和时间设施、国际化和各种实用工具类(字符串标记生成器、随机数生成器和位数组)。 java.util.concurrent 在并发编程中很常用的实用工具类。...
java.util 包含 collection 框架、遗留的 collection 类、事件模型、日期和时间设施、国际化和各种实用工具类(字符串标记生成器、随机数生成器和位数组)。 java.util.concurrent 在并发编程中很常用的实用工具类...
而Date的其他构造方法和普通方法的API都不容易实现国际化,因此目前Date类的大多数方法都被标识为过时,表示更灵活的时间类请参考java.util.Calendar。 Date的输出结果是按照国际通用格式输出的,而中国更习惯于...
java.util 包含 collection 框架、遗留的 collection 类、事件模型、日期和时间设施、国际化和各种实用工具类(字符串标记生成器、随机数生成器和位数组)。 java.util.concurrent 在并发编程中很常用的实用工具类...
java.util 包含 collection 框架、遗留的 collection 类、事件模型、日期和时间设施、国际化和各种实用工具类(字符串标记生成器、随机数生成器和位数组)。 java.util.concurrent 在并发编程中很常用的实用工具类。...
java.util 包含 collection 框架、遗留的 collection 类、事件模型、日期和时间设施、国际化和各种实用工具类(字符串标记生成器、随机数生成器和位数组)。 java.util.concurrent 在并发编程中很常用的实用工具类...
3、在jsp中采用标签来读取国际化消息文本 4、了解利用struts默认将locale放到session中的特性,完成采用编程的方式切换语言设置,设置语言到session中的,key为Globals.LOCALE_KEY,value为当前设置的语言. * 参见:...
* 国际化:属性文件可以存储不同的语言翻译信息,使得程序可以在不同的语言环境中运行。 * 用户设置:属性文件可以存储用户的个性化设置,例如界面设置、语言设置等。 Java 操作属性文件是 Java 编程语言中的一种...
forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,所以它的地址栏中还是原来的地址。 redirect...
60.JAVA语言国际化应用,Locale类,Unicode 61.描述反射机制的作用 62.如何读写一个文件? 63.在图形界面中,一个按钮如何处理鼠标点击事件? 64.在图形界面中,一个表格,如何实现编辑单元格时弹出下拉框? ...
常用java IO操作以及用jxl读写excel 工具源代码 此工具作用:把目录里面的文件旧的国际化key值换成新的国际化值。根据excel文件。
java.util 包含 collection 框架、遗留的 collection 类、事件模型、日期和时间设施、国际化和各种实用工具类(字符串标记生成器、随机数生成器和位数组)。 java.util.concurrent 在并发编程中很常用的实用工具类...