【发布时间】:2014-03-18 16:02:30
【问题描述】:
在我的网站中,我可以选择的语言很少。我使用 servlet、jsp 来查看,并将 GWT 作为本地化按钮操作的地方(将其视为 js)。在 servlet 中,我正在捕获子域,它是 en、de、fr 等语言(例如 en.mydomain.com 将给出字符串“en”)。 因为我使用 GWT,所以我必须使用从子域获得的当前语言环境向 jsp 发送参数。 jsp参数代码如下所示
<meta name="gwt:property" content="locale=<%=request.getAttribute( "locale1" )%>">
和servlet发送属性:
request.setAttribute("locale1", locale);
但在我的网站(GWT 层)中,您只需按下带有标志的按钮即可更改语言。那里会发生什么?我将子域从一种语言替换为另一种语言。 推送后,我将网址重定向到带有新子域的新网址
Window.Location.assign(Window.Location.createUrlBuilder()
.setHost(newURL).buildString());
在上述操作之后 url 是正确的,然后该操作进入 servlet,我从正确的子域获取语言(获取新的语言)并尝试像上面的代码一样设置属性。 但是在jsp locale 中是不会被替换的。只是以前的语言仍然存在。无论我执行多少次该操作,jsp 都不会替换语言环境(意思是 en de fr ...)
问题:为什么会发生以及如何解决?
【问题讨论】: