如果控制器中发生异常,如何将控制传递到grails错误页?

如果控制器中发生异常,如何将控制传递到grails错误页?,grails,groovy,Grails,Groovy,我在控制器中有一个方法,当用户单击链接时将调用该方法 <g:link controller="reporting" action="dataCenterNetworkReports"> <g:message code="reports.data.center.network"/> </g:link> 该方法将从Web服务获得响应。现在我的问题是,如果某些东西在WS中出错并返回错误,我需要传递控件并显示错误消息。如何在出现错误并出现catc

我在控制器中有一个方法,当用户单击链接时将调用该方法

  <g:link controller="reporting" action="dataCenterNetworkReports">
    <g:message code="reports.data.center.network"/>
  </g:link>


该方法将从Web服务获得响应。现在我的问题是,如果某些东西在WS中出错并返回错误,我需要传递控件并显示错误消息。如何在出现错误并出现catch块时显示常见错误页面。

Grails在
视图/error.gsp中有默认错误gsp。如果您查看代码,这需要一个异常,因此我认为这样做应该足够了(未测试):

您的控制器方法

def dataCenterNetworkReports() {
   String view = "myDefaultView"
   def model = [:]
   try {
     //call webservice
   }catch(e) {
     view = '/error' 
     model.exception = e
   }
   //when occur some exception view will be /error
   render(view: view, model: model)     
}

但如果您需要显示一些自定义布局,则可以选择。

您的选项听起来不错,但我要做的是回复错误页面显示的当前页面。当WS-call在后面运行时,当前页面已经显示了一些teplete。我已经创建了要测试的默认错误页面,但它没有显示。您可以发布更多代码吗?这是插件还是grails应用?grails应用程序中已存在错误页面。