【发布时间】:2013-01-15 03:05:58
【问题描述】:
生成链接时,我需要覆盖 Grails 的默认行为。目的是根据当前语言环境更改 url。
我已成功覆盖 DefaultUrlMappingsHolder,但它仅适用于第一次创建链接时的第一个 Web 请求。 Grails 似乎将链接存储在某个位置,因此下次我将createLink 设置为相同的控制器和操作时,它只会显示链接,而无需重新运行创建链接的过程。因此,更改区域设置时链接不会更改。
我做了什么:
- 为每种语言创建 UrlMapping。例如
http://myapp/search和http://myapp/suche都指向'SearchController' - 覆盖 DefaultUrlMappingsHolder,当通过反向 url 映射创建链接时,它会考虑语言环境并为每个语言环境选择正确的 urlmapping 并创建正确的 url。
我应该怎么做才能停止 Grails 的这种行为并强制链接生成再次运行?
谢谢。
【问题讨论】:
-
你是如何覆盖 DefaultUrlMappingsHolder 的?
标签: grails internationalization url-mapping