我有时会用我想在错误消息中显示的描述来注释我的控制器:
// ControllerType is a custom annotation
@ControllerType(description= "this does foo bar")
class MainController {
...
有了这些,并根据 Aoi Karasu 的帖子,以下是如何从初始控制器中提取信息:
class ErrorsController {
def index() {
def initialController = request.exception?.className
if (initialController) {
def controller = grailsApplication.getArtefact("Controller", initialController).getReferenceInstance()
render "Controller: ${initialController}, annotations ${controller.getClass().getDeclaredAnnotations()}"
return
}
render 'no initial controller'
}
}
request.exception?.className结合grailsApplication.getArtefact允许检索控制器,例如,您可以从中提取注释