由于用户的点击,"de“将更改为e">
我有一个关于浏览器区域设置的问题。在主原则中,request.getLocale从用户的操作系统中检索区域设置。我想检索独立于用户操作系统的浏览器区域设置。该网站有多种语言(德语、意大利语、英语),用户可以手动切换语言。在html页面中,有显示差异的meta元素。
<meta http-equiv="content-language" content="de" />
由于用户的点击,"de“将更改为en或其他语言。
问题是,是否有一种方法可以在java中删除这些信息。
更新:在我的LogoutServlet doPost方法中,我有一个注销方法,它应该从浏览器的html页面中检索当前语言。
String locale =request.getLocale().getDisplayLanguage();
根据内容语言,它不会更改为Fr或It。
发布于 2014-06-02 02:18:06
下面的答案可以解决你问题的一个部分:http://www.coderanch.com/t/442889/JSP/java/Reading-META-tag-Servlet
您需要使用客户端脚本收集元标记的数据,并将它们发送到servlet:
<script type="text/javascript">
function metaKeywords() {
metaCollection = document.getElementsByTagName('meta');
alert('');
for (i=0;i<metaCollection.length;i++) {
var nameAttribute = metaCollection[i].name.search(/foo/);
if (nameAttribute!= -1) {
alert(metaCollection[i].content);
}
}
}
>
</script>
发布于 2014-06-02 02:14:59
据我所知,浏览器没有独立于操作系统的区域设置。
您为用户提供了手动选择语言的方法(很好!)要知道他们选择了哪种语言,您需要做一些事情将这些信息发送回您的服务器。cookie可能是最简单的方式,因为它会伴随每个请求。(不过,出于同样的原因,还是要保持小规模。)
https://stackoverflow.com/questions/23992078
复制相似问题