Java 当JSP依赖于用户区域设置、SpringMVC或Hybris时,如何在JSP上设置URL
我在@RequestMapping中有一些页面控制器,其中包含几个值,例如:Java 当JSP依赖于用户区域设置、SpringMVC或Hybris时,如何在JSP上设置URL,java,spring,spring-mvc,jakarta-ee,hybris,Java,Spring,Spring Mvc,Jakarta Ee,Hybris,我在@RequestMapping中有一些页面控制器,其中包含几个值,例如: @Controller @RequestMapping(value = {"foo", "bar"}) public class FooBarController {...} *fr.properties - myLink=/foo *en.properties - myLink/bar 在一些JSP中,我需要设置这个页面控制器的URL,但是这个URL应该取决于用户的语言环境,例如:如果用户选择一个站点的EN语
@Controller
@RequestMapping(value = {"foo", "bar"})
public class FooBarController {...}
*fr.properties - myLink=/foo
*en.properties - myLink/bar
在一些JSP中,我需要设置这个页面控制器的URL,但是这个URL应该取决于用户的语言环境,例如:如果用户选择一个站点的EN语言环境,那个URL应该是“/foo”,或者如果用户选择FR语言环境,那个URL应该是“bar”
还有一个问题,怎么可能使用Spring(或Hybris)呢?因为我认为如果有其他条件,比如:
<c:when test="${locale == 'EN'}">...</c:when>
。。。
在JPS上不是一个很好的解决方案?这取决于链接的创建方式。 1.您可以将链接添加到本地化的.properties文件中。例如:
@Controller
@RequestMapping(value = {"foo", "bar"})
public class FooBarController {...}
*fr.properties - myLink=/foo
*en.properties - myLink/bar
并在JSP/TAG中使用它
/fr/foo;en/foo并在链接之前使用此前缀${localePrefix}/foo
如何跟踪区域设置?它是用户属性还是会话中的某个内容?如果是第一个,那么您应该能够从spring获取上下文用户表单。如果是后者,则可以从HttpServletRequest获取会话。然后,您可以根据您在模型中的发现设置该url,并仅使用该值。@mavriksc是的,locale是用户属性,存储在DB中,也包含在会话中。将其存储在hiddenfield或session中,以便在jsp和控制器中具有
locale.language==“FR”?model.put(“localeBasedURL”http://siteurl/foo“”:model.put(“localeBasedURL”http://siteurl/bar“”