spring mvc的jsp页面国际化讲解例子比较多,但controller讲解的就很少了,琢磨了几小时,得到一个解决方案:
controller函数里边都可以携带Locale参数,正好我看到这篇文章,能和这个参数结合使用:
http://blog.donews.com/apalong/archive/2005/08/25/526269.aspx
当然了,你还得按spring mvc的jsp国际化成功执行后,controller按以下类似代码就能国际化了:
@RequestMapping(value = "/auto", method = RequestMethod.GET)
public @ResponseBody
AvailabilityStatus getAvailability(@RequestParam String name,Locale locale) {
logger.info("Welcome auto! the client locale is " + locale.toString());
ResourceBundle myResources =
ResourceBundle.getBundle("messages", locale);
String aha = myResources.getString("label.lastname");
System.out.println( name );
return AvailabilityStatus.notAvailable(aha);
}
其中的label.lastname就是资源文件中的key,资源文件如下:
label.firstname=First Name
label.lastname=Last Name
label.email=Email
label.telephone=Telephone
label.addcontact=Add Contact
label.menu=Menu
label.title=Contact Manager
label.footer=© ViralPatel.net