我需要在生成链接时覆盖Grails的默认行为。目的是根据当前语言环境更改网址。强制Grails重制链接
我已经成功覆盖了DefaultUrlMappingsHolder,但它只是在第一次创建链接时在第一个Web请求上工作。 Grails似乎将链接存储在某个地方,因此下次我将createLink
设置为相同的控制器和操作时,它只显示链接而不重新运行创建链接的过程。因此,当区域设置改变时链接不会改变。
我所做的:
- 为每种语言创建urlMapping中。例如
http://myapp/search
和http://myapp/suche
都指向'SearchController' - 覆盖DefaultUrlMappingsHolder,当通过反向URL映射创建链接时,它将区域设置考虑在内,并为每个区域选择正确的urlmapping并创建正确的url。
我该怎么做才能阻止Grails的这种行为,并强制链接生成再次运行?
谢谢。
你是如何重写DefaultUrlMappingsHolder的? – Samuel