2

我必须根据语言环境加载属性文件,并且我的 servlet 中有以下代码。

ResourceBundle contactBundle = ResourceBundle.getBundle("/popproperties/impprops", request.getLocale());

我还创建了如下popproperties文件夹内的道具文件。

impprops_en_US.properties

//some key value pairs here

上面的代码工作正常,没有任何问题。我的问题是我只有一个 porperties 文件作为impprops_en_US.properties. 如果用户将浏览器设置从美国更改为其他区域设置,则没有其他相应区域设置的属性文件。在这种情况下,我仍然必须加载impprops_en_US.properties文件。我怎样才能做到这一点?我需要再创建一个属性文件impprops.properties 吗?

谢谢!

4

1 回答 1

4

这取决于您的代码,例如如果您在选择 a 时获得空值/默认值,default locale那么您可以进行检查并加载所需的语言环境。例如,在我的情况下:

   String cc=req.getParameter("country");
   String ln=req.getParameter("language");
   Locale l=null;
   if(cc==null)
     l=new Locale("en","US");
   else
     l=new Locale(ln,cc);

   ResourceBundle rb=ResourceBundle.getBundle("ApplicationResources",l);
   req.setAttribute("resource", rb);
于 2013-08-30T10:52:45.953 回答