1
在我的Grails應用程序中,我有幾個域類,如Author
和Book
。我使用的是默認的URL映射:Grails URL映射
static mappings = {
"/$controller/$action?/$id?"{
constraints {
// apply constraints here
}
}
}
所以相對URL以顯示書的ID 2是/book/show/2
或作者ID爲5它的/author/show/5
。 Author
和Book
類都具有唯一的name
屬性。
我傾向於使用URL來顯示作者或書籍使用名稱而不是數據庫ID來標識書籍/作者,例如, /author/show/shakespeare
和/book/show/ulysses
。這可以在不更改域名的情況下實現,例如name字段是id(主鍵)?
剛做了一個快速測試,它似乎工作。去了'http://example.com:8080/myapp/books/show/Book1',看到它渲染出我名爲「Book1」的引導書。無可否認,這涉及到控制器在各處進行相當數量的工作。 – 2012-02-02 14:41:19
更改控制器是很容易的部分 - 我可能只需要爲每個域類修改(一行)單個操作。更難的部分是追蹤所有調用該動作的地方,並將其更改爲發送名稱而不是ID。無論如何,似乎沒有其他選擇,所以你贏得了夢寐以求的選中標記。衷心祝賀,謝謝。 – 2012-02-03 11:32:57