如何在不在URL中显示的情况下跟踪某些用户数据

时间:2018-04-24 20:06:16

标签: spring parameters request locale

我正在开发一个使用德语和英语两种语言的网络应用程序。我已经在我的网页上实现了搜索,我希望在搜索时跟踪用户的语言环境。

我怎样才能做到这一点:

http://localhost:8080/user/search?search=pax?lang=de

而不是:

http://localhost:8080/user/search?search=pax

在我的表格中,我有:

action="/user/search"

我试过

action="<spring:message code="user.search.movie.link"/>

user.search.movie.link = /user/search or /user/search?lang=de 

但它不起作用。

1 个答案:

答案 0 :(得分:0)

在某些情况下,在URL参数中放置信息是好的,但可能不是这个。用户似乎可以在登录时间之前选择一次语言设置,然后很少更改它。或者甚至可以自动设置。如果是这样,语言是您可能希望存储在用户会话中的东西,或者是数据库之类的持久存储(如果您正在使用它)。你似乎在使用Spring,我对他们的会话处理知之甚少,但他们的文档在https://docs.spring.io/spring-session/docs/current/reference/html5/

*:有关此问题的更多信息,您可能需要了解GET次请求与POST次请求(here's one of many SO posts on the topic)之间的差异。与您最相关的部分是GET是在URL中具有可见参数的部分,但是有很多其他原因可以使用其中一个。