0

ユーザーがリンクをクリックしたときに呼び出されるコントローラーにメソッドが1つあります

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

そのメソッドは Web サービスから応答を取得します。ここで私の質問は、WS で問題が発生してエラーが返された場合、コントロールを渡してエラー メッセージを表示する必要があるということです。何か問題が発生してキャッチブロックになったときに一般的なエラーページを表示する方法。

4

1 に答える 1

0

Grails にはデフォルトのエラー gsp in がありますviews/error.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)     
}

ただし、カスタム レイアウトを表示する必要がある場合は、flash オブジェクトを選択できます。

于 2012-09-28T12:45:41.430 に答える