项目用struts2 做国际化,一个是英文的,一个是中文的。
项目所需要的数据库是如何设计的,是弄两个数据库了,还是有更好的方法了。
这个项目的国际化配置文件是如何管理的,我现在 建立了一个全局资源文件,页面 和action 中都 可以访问这个配置文件,这样的话,配置的文件量很大, 不好管理。
我想在 包级建立资源文件,这样就好管理一些,可在包级建立资源文件,页面是如何取包资源文件中的KEY的。
在action中也可能访问得到吗?你们有更好的方法吗?
请各位大哥,大姐给我讲解。。
项目所需要的数据库是如何设计的,是弄两个数据库了,还是有更好的方法了。
这个项目的国际化配置文件是如何管理的,我现在 建立了一个全局资源文件,页面 和action 中都 可以访问这个配置文件,这样的话,配置的文件量很大, 不好管理。
我想在 包级建立资源文件,这样就好管理一些,可在包级建立资源文件,页面是如何取包资源文件中的KEY的。
在action中也可能访问得到吗?你们有更好的方法吗?
请各位大哥,大姐给我讲解。。
包级别
命名定义:package_en_US.properties,package_zh_CN.properties
其中package是固定的。把这两个文件放在一个action包中。
这个标签有吗?
用来取得properties文件中的内容的
既然要做国际化
没有properties文件怎么行建议数据库做两个
登陆页做一个
然后弄个标签或者按钮
让你选择中文或者英文
然后登陆的时候选择不同的properties文件就可以了其他的对应弄一下
这个标签 是struts1 的,struts2 中没有。。
和struts2中页面表示国际化的方法
在JAVA类了,加入属性;
private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle.getBundle("mapdata");
/**
*mapdata是你的资源文件名称,比如是:mapdata.properties或者init.properties
*/
方法如下:
//RESOURCE_BUNDLE为mapdata.properties对应的属性文件
public static String getString(String key)
{
String v=null;
try{
v = RESOURCE_BUNDLE.getString(key);
}catch(Exception e){
//e.printStackTrace();
}
if(v == null){
v = "";
return v;
}
try{
return (new String(v.getBytes("iso-8859-1"), "gbk")).trim();
}catch(Exception e){
e.printStackTrace();
return v;
}
}