我有一个在 JBoss AS6 上运行的 SEAM 2.2.2 应用程序
该应用程序设置有多种语言
在 JBoss 部署目录 /jbossweb.sar/server.xml 中,我使用以下主机条目映射了许多不同的域
<Host name="myApp">
<Alias>www.myapp.com</Alias>
<Alias>myapp.com</Alias>
<Alias>www.myapp.sv</Alias>
<Alias>myapp.sv</Alias>
<Valve className="org.apache.catalina.valves.AccessLogValve"
prefix="processor" suffix=".log" pattern="common"
directory="${jboss.server.home.dir}/log"/>
<Valve className="org.jboss.web.tomcat.service.jca.CachedConnectionValve"
cachedConnectionManagerObjectName="jboss.jca:service=CachedConnectionManager"
transactionManagerObjectName="jboss:service=TransactionManager" ></Valve>
</Host>
我们需要能够确保所有登陆 www.myapp.sv 的访问者都将默认语言设置为瑞典语,即使他们的浏览器默认为英语
实现这一目标的最佳方法是什么?我最初的猜测是在请求页面时检查设置了哪个语言环境,然后使用 Seam 的 localeSelector 来覆盖浏览器的默认设置,但这似乎有点 hack 并且可能会浪费资源包,因为资源包会被加载然后重新加载?
有没有办法“拦截”初始语言环境选择并用基于域扩展名的语言来覆盖它?
谢谢