我需要在生成鏈接時覆蓋Grails的默認行爲。目的是根據當前語言環境更改網址。強制Grails重製鏈接
我已經成功覆蓋了DefaultUrlMappingsHolder,但它只是在第一次創建鏈接時在第一個Web請求上工作。 Grails似乎將鏈接存儲在某個地方,因此下次我將createLink
設置爲相同的控制器和操作時,它只顯示鏈接而不重新運行創建鏈接的過程。因此,當區域設置改變時鏈接不會改變。
我所做的:
- 爲每種語言創建urlMapping中。例如
http://myapp/search
和http://myapp/suche
都指向'SearchController' - 覆蓋DefaultUrlMappingsHolder,當通過反向URL映射創建鏈接時,它將區域設置考慮在內,併爲每個區域選擇正確的urlmapping並創建正確的url。
我該怎麼做才能阻止Grails的這種行爲,並強制鏈接生成再次運行?
謝謝。
你是如何重寫DefaultUrlMappingsHolder的? – Samuel