我正在使用struts,我有一个需要在两种语言上运行的java Web应用程序。我能够使用application.properties文件获取一种语言,其中我有键和值组合并使用它。现在,当用户想要选择其他语言而不是如何切换到另一种语言how to change the properties file
我有不同语言的不同属性文件我的问题是当用户选择不同语言时如何设置/选择特定属性文件?
答案 0 :(得分:1)
如果您使用的是Struts2,那么您可以创建自己的LocaleProvider
类,例如:
public class ChangeLocale implements LocaleProvider {
private String lan;
public String getLan() {
return lan;
}
public void setLan(String lan) {
this.lan = lan;
}
public Locale getLocale() {
Locale locale=null;
// Switch language between Chinese and English
if("chinese".equals(lan)){
locale=new Locale("zh", "cn");
}else if("english".equals(lan)){
locale=new Locale("en", "US");
}
return locale;
}
}
LocaleAction
中的:
public String execute(){
ActionContext ac=ActionContext.getContext();
ac.setLocale(getLocale());
return "success";
}
在jsp中:
<a href="<s:property value="chinese"/>"><s:text name="china"></s:text></a>
<a href="<s:property value="english"/>"><s:text name="us"></s:text></a>