在Portlet里面进行本地化有两种方法:

(1)在portlet.xml中使用xml:lang属性来指定locale,例如:

  1. <portlet> 
  2. <description xml:lang="EN">TestProcessEvent</description> 
  3. <portlet-name>TestProcessEvent</portlet-name> 
  4. <display-name xml:lang="EN">Test ProcessEvent</display-name> 

(2) 用resource bundle

方法是在portlet.xml中<resource-bundle>元素中指定承载资源包的resource bundle文件

比如:

在portlet.xml中有如下:

  1. <resource-bundle> 
  2. a.b.portletconfig 
  3. </resource-bundle> 

则必须对应的,在classpath的a.b包下面创建 portletconfig_<language>_<country>.properties文件,比如portletconfig_zh_CN.properties

  1. key1=value1 
  2. key2=value2 

 

然后,要在页面上显示中文,也有两种方法来设定locale:

a.用jstl的国际化标签进行国际化设定

  1. <fmt:setLocale value="<%=request.getLocale()%>"/> 
  2. <fmt:setBundle basename="a.b.portalconfig"/> 

显示用 

  1. <fmt:message key="key1"/> 

 

b.用编程的方式设定:

 

  1. ResourceBundle bundle = 
  2. getPortletConfig().getResourceBundle(request.getLocale()); 

然后显示可以用:

 

  1. response.setXXX(getResourceBundle(request.getLocale()). 
  2. getString("key1"));