java - Seam 国际化重定向

标签 java jsf seam

大家晚上好

是否有一种标准方法可以将特定 url 重定向/重写到不同的 url?

想象一个用户访问以下 View :http://www.something.com/us/download.xhtml?id=2

我想从之前的 View 中设置语言环境并重定向到 http://www.something.com/download.xhtml?id=2

<page view-id="/us/download.xhtml*" action="<action to set the locale>"> <navigation> <redirect view-id="#{facesContext.viewRoot.viewId}" /> </navigation> </page>

好吧,基本上,我想设置语言环境(例如:我们),传递 viewId/us/download.xhtml 并重定向到没有语言环境引用的 viewId。

谢谢

最佳答案

使用监听 /* 的过滤器,它从 URL 中提取区域设置并将请求转发到没有区域设置前缀的新 URL。你真的不应该重定向,带有语言环境的 URL 会丢失,这对 SEO 非常不利,因为你会在同一个 GET URL 后面提供多个内容,而 GET 应该是幂等的。它还会使本地化页面不可添加书签。只需转发请求即可。

关于java - Seam 国际化重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2052355/

相关文章:

jsf - 如果 ManagedBean 在 jar 库中,则 @PostConstruct 不会被 JSF 调用

jsf - 如何在 JSF1.2 的消息资源包中添加换行符(\n )

session.invalidate() 实际上并不清除 JSF session 范围内的值

java - Seam 应用架构

java - seam 上的 servlet 中的分段上传问题

java - SEAM - 获取 base65 认证的 url

Java - 将泛型类型映射到所述类型的使用者

java - 无法比较警报对话框编辑文本和我的字符串中的值

java - 如何使用 Android 铃声管理器播放 Assets 文件夹中的铃声?

java - 使用 Jersey 输出流流式传输 excel 文件