2012-07-14 140 views
1

所以重定向,我有我做的是完成它的所有在一個頁面上的功能一個非常簡單的網絡應用程序;我不希望任何其他頁面暴露給用戶。然而與此同時,我想盡可能多地利用Grails的內置功能,包括內置的錯誤處理。更改默認錯誤

我在我的領域類有他們的各種約束,即獨特:真,空白:假等等的字段。錯誤捕捉工作出色這樣,我想繼續利用它。

然而,當其中一個錯誤被拋出,它重定向到「創造」的頁面,並顯示flash.message那裏。我想要的是重定向回我的索引,並在那裏顯示flash.message。

是否有改變這種行爲的地方,否則我將不得不編寫自定義錯誤處理到我的控制器?

+0

我覺得挺傻的。如果其他人看到這一點,只需在控制器方法的部分添加一個重定向,檢查它是否成功執行。例如,如果您要修改保存方法,請查找以下行: if(!voteInstance.save(flush:true)){ 然後,在那裏添加一個重定向到您想要的位置。 – lashiel 2012-07-15 00:04:41

回答

1

您還可以在UrlMappings.groovy例如,定義不同的錯誤類型一般錯誤頁面:

"500"(view: "myErrorView") 
"404"(view: "my404View") 

然後可以拋出並記錄在控制器例外然後將重定向到500錯誤頁面。