【问题标题】:Force Grails to remake link强制 Grails 重新制作链接
【发布时间】:2013-01-15 03:05:58
【问题描述】:

生成链接时,我需要覆盖 Grails 的默认行为。目的是根据当前语言环境更改 url。

我已成功覆盖 DefaultUrlMappingsHolder,但它仅适用于第一次创建链接时的第一个 Web 请求。 Grails 似乎将链接存储在某个位置,因此下次我将createLink 设置为相同的控制器和操作时,它只会显示链接,而无需重新运行创建链接的过程。因此,更改区域设置时链接不会更改。

我做了什么:

  • 为每种语言创建 UrlMapping。例如http://myapp/searchhttp://myapp/suche 都指向'SearchController'
  • 覆盖 DefaultUrlMappingsHolder,当通过反向 url 映射创建链接时,它会考虑语言环境并为每个语言环境选择正确的 urlmapping 并创建正确的 url。

我应该怎么做才能停止 Grails 的这种行为并强制链接生成再次运行?

谢谢。

【问题讨论】:

  • 你是如何覆盖 DefaultUrlMappingsHolder 的?

标签: grails internationalization url-mapping


【解决方案1】:

您安装了哪个版本的 Grails?在 Grails 中有一个关于它的 jira。后续版本已修复。

【讨论】:

  • 谢谢,但我没有这个我在那个jira中有同样的问题。
  • 我正在使用 Grails 2.0.1 在我的情况下,getReverseMapping 工作正常,但只是在第一次创建链接时。当我刷新或转到具有相同链接的另一个页面时,getReverseMapping 不再被触发。我希望每次呈现链接时都运行getReverseMapping,因此更改区域设置时会更改链接。
猜你喜欢
  • 1970-01-01
  • 2023-03-12
  • 2010-12-01
  • 2011-11-20
  • 2015-05-23
  • 2017-10-12
  • 2011-07-07
  • 2018-01-08
  • 2015-08-09
相关资源
最近更新 更多