我在用簡單的映射Grails的我的應用程序有一個簡單的控制器......Grails的使用不一致的重定向URI時爲同一控制器
TCacheController {
def index ={}
def list= {}
}
"/tcache/" (controller: "TCache"){
action = [GET: "index"]
}
"/tcache/items" (controller: "TCache"){
action = [GET: "list"]
}
我所有的網址是的形式http://.../tcache/ *,並且一切正常。問題出現時,我在這樣的視圖中使用<g:actionSubmit>
......
<g:form controller="TCache">
<g:actionSubmit class="delete" action="list" value="List Items">
的提交作品,但在我的名單行動我有一個重定向萬一出了差錯,和redirect已造成404因爲Grails的發送到/TCache/..
而不是/tcache/...
在什麼情況下Grails會更改URI的大小寫,並且有沒有辦法強制它始終使用/tcache
?我嘗試在表單中使用controller =「tcache」,但隨後該操作停止工作,可能是因爲Grails無法找到控制器。
列表動作中的重定向代碼是什麼樣的? – david 2012-01-02 17:01:34
'list'行爲的代碼基本上是獲取一些數據,然後執行'render [view:'list']'到'list.gsp'。如果在動作中發生任何異常,我就會捕獲它並做一個'redirect(action:'index')',那就是當我得到404時,因爲它應該嘗試重定向到'/ TCache/...'重定向到'/'tcache/...',我試圖找出它爲什麼使用大寫字母。 – raffian 2012-01-03 18:13:52