为了测试urlmappings文件中的映射500状态。目的是显示自定义错误视图页面。我有意抛出异常来对此进行测试。
我已经设置了这个简单的代码。
import java.nio.file.AccessDeniedException
class HomeController {
def index() {
throw new AccessDeniedException('asd')
}
}
我在网址映射中映射了500个代码
package exceptiontest
import java.nio.file.AccessDeniedException
class UrlMappings {
static mappings = {
"/$controller/$action?/$id?(.$format)?"{
constraints {
// apply constraints here
}
}
"/"(controller: 'home', action: 'index')
"404"(view:'/notFound')
"500"(controller: "errors", action: "error403")
}
}
这里是错误控制器
package exceptiontest
class ErrorsController {
def error403() {}
}
这是error403.gsp文件
<html>
<head>
<title>Access denied!</title>
<meta name='layout' content='main' />
</head>
<body>
<h1>Access Denied</h1>
<p>We're sorry, but you are not authorized
to perform the requested operation.</p>
</body>
</html>
它不会显示此错误视图。我缺少让此urlmappings用于500个代码的功能吗?感谢您的帮助。谢谢!
我正在使用Grails 3.3.8。
答案 0 :(得分:0)
您收到500错误还是403错误?尝试在URL映射中添加403,或在控制器中尝试以下操作,以获取500错误。
导入静态org.springframework.http.HttpStatus。*
渲染状态:INTERNAL_SERVER_ERROR