2012-07-14 137 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错误页面。