使用Grails 2.3.9
在控制器中,我尝试发出请求,请完成URL映射中声明的错误处理。我已经阅读了docs,但我仍然无法了解其工作原理。
从文档示例中:
static mappings = {
"403"(controller: "errors", action: "forbidden")
"404"(controller: "errors", action: "notFound")
"500"(controller: "errors", action: "serverError")
}
例如在控制器中:
def update() {
// do some tests
if(forbidden) {
// Go to 403
//response.status = response.SC_FORBIDDEN
render status: 403
return
}
// deal with normal case
}
我需要在控制器中做什么才能登陆403动作?执行response.status = response.SC_FORBIDDEN
或render status: 403
无效。
我能够通过抛出自定义异常ForbiddenException来实现遍历映射403,而url映射包含:
"403"(controller: "errors", action: "forbidden", exception: ForbiddenException)
但是,我想,通过另一个控制器到达错误控制器也应该为每个案例抛出异常,不是吗?
答案 0 :(得分:2)
试试这个
response.sendError 403
并确保您已经在URL映射中创建了控制器和操作,并从操作中呈现了一些内容。