Tapestry国际化 - 删除语言环境前缀

时间:2011-12-28 09:54:34

标签: internationalization tapestry

在区域设置之间切换时,Tapestry会自动为URL添加区域设置前缀:

http://host/en/home
http://host/es/home
http://host/fr/home

等。 如何避免它;我在Tapestry APi中发现你应该为AppModule类添加额外的配置:

configuration.add(SymbolConstants.ENCODE_LOCALE_INTO_PATH, "false");

并自行使用LinkCreationListener2或LinkCreationListener(对于Tapestry< 5.2 *)。谁能提供更多信息或示例? THKS

1 个答案:

答案 0 :(得分:1)

这取决于您在跟踪区域设置方面的目标。 Tapestry 5.0使用cookie来跟踪区域设置; Tapestry 5.1切换到将其编码到路径中。我认为在路径上是正确的...毕竟,如果用户为该页面的法语版本添加书签,他们应该在一个月后使用书签时看到该页面的法语版本。

安排:

  • 将符号覆盖为“false”
  • 将RequestFilter提供给RequestHandler管道,该管道读取cookie以设置值
  • 覆盖PersistentLocale服务以存储cookie