1

这是一个struts2问题。

目前,我在我的 webapp 中使用 i18n 进行国际化。我的一些 jsp 页面有查询字符串来存储请求信息。例如,

http://myWebsite.com/myWebsite/myPage?productId=12345

当用户尝试切换语言时,我将 URL 重写javascript

http://myWebsite.com/myWebsite/myPage?request_locale=zh_CN

它会丢失查询字符串。

我的网址以不同的方式使用:

http://myWebsite.com/myWebsite/myPage
http://myWebsite.com/myWebsite/myPage?productId=12345#myAnchor
http://myWebsite.com/myWebsite/myPage?productId=12345&key2=value2&key3=value3#myAnchor
http://myWebsite.com/myWebsite/myPage?productId=12345&key2=value2&key3=value3&request_locale=zh_CN
http://myWebsite.com/myWebsite/myPage?productId=12345&key2=value2&key3=value3
...

当我尝试处理所有这些差异时javascript,它变得如此复杂。

切换语言环境后有什么好的方法可以保留查询字符串和锚点?

4

1 回答 1

0

使用 JS 重写 URL 时,应该基于当前 URL 进行。

所以,如果在浏览器中显示

http://myWebsite.com/myWebsite/myPage?productId=12345

你应该把它重写为

http://myWebsite.com/myWebsite/myPage?productId=12345&request_locale=zh_CN

为此,使用 JS 您应该显示当前 URL。看看这个问题如何。

于 2012-11-20T07:23:50.647 回答