我做了一个struts切换显示中英文资源的项目,代码如下:
src/resource_zh_CN.properties,resource_en_US.propertiespublic class i18NAction extends Action {
 @Override
 public ActionForward execute(ActionMapping mapping, ActionForm form,
   HttpServletRequest request, HttpServletResponse response)
   throws Exception {
  i18NForm i18 = (i18NForm)form;
  System.out.println(i18.getLanguage()+","+i18.getCountry());
  Locale locale = new Locale(i18.getLanguage(),i18.getCountry());
  HttpSession session = request.getSession();
  session.setAttribute("Globals.LOCALE_KEY", locale);
  return mapping.findForward("success");
 }   }
public class i18NForm extends ActionForm{
    private String language;
    private String country;
   getter/setter...}jsp页面:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@taglib prefix="bean" uri="http://struts.apache.org/tags-bean"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>LocaleMessage</title>
  </head>
  <body>
    <a href="i18N.do?language=zh&country=CN">中文</a>|
    <a href="i18N.do?language=en&country=US">英文</a>
    <bean:message key="test"/> 
  </body>
</html>
 
struts-config.xml配置:<message-resources parameter="com.xd.resource_zh_CN" ></message-resources>
<message-resources parameter="com.xd.resource_en_US" ></message-resources>
 
开始我是把两个资源文件用逗号分开写成 parameter="com.xd.resource_zh_CN,com.xd.resource_en_US"
然后也报错
后来写分开写也不行,写成parameter="com.xd.resource"也不行
总之在action中都能得到请求数据,就是找不到资源文件,不能切换显示