如果您可以访问 HttpServletRequest 对象,那就很容易了。假设你在一个 servlet 中:
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
Enumeration locales = request.getLocales();
/**
*You can get the first one matches your supported local like below
*/
while (locales.hasMoreElements()) {
Locale locale = (Locale) locales.nextElement();
if (supportedLanguages.contains(locale)) {
requestLocale = locale;
break;
}
}
super.doPost(request, response);
}
如果您正在谈论在客户端检测浏览器语言。我宁愿建议你给我们JS来获取浏览器语言,你可以在你的Java代码中调用js。顺便说一句,我在我的 chrome 上测试了它:
var type=navigator.appName
if (type=="Netscape"){
var lang = navigator.language
}
else{
var lang = navigator.userLanguage
}