2010-12-06 14 views
6

クライアントに送信されるコンテンツを処理できるように、クライアントブラウザに送信される前に、すべての可能性のあるHTTPエラーをキャッチする方法はありますか?私はすべての4xxと5xxのHTTPステータスコードを意味するだけでなく、他の403,404、および500のように示唆しています。Grails(ステータスコード4xx/5xx)でHTTPエラーをグローバルに処理する方法は?

私がしたいのは、最初にすべてのHTTPエラーを捕まえることです。すべてを1つずつ指定する必要はありません。次に、2番目のステップで、特定のエラーコードをフィルタリングします私が扱いたい(例えば400)が、少なくとも私が指定しないものは、私が定義した一般的なエラーテンプレートにレンダリングします。

これを実行できない場合(または実行しない場合)は、どのHTTPエラーコードを実際にチェックして処理する必要がありますか? 400,401,403,404,405,505,501,503のいずれかで起こっているコードを少なくとも見ることができます。また、HTTP応答コードのマッピングを使用して、それらをどのように処理する必要がありますか?

ありがとうございます!

答えて

2

実際に試したことはありませんが、数値制約が機能する可能性がありますか?

"$errorCode" { 
    controller = "errors" 
    action = "displayError" 
    constraints { 
      errorCode(matches:/\d{3}/) 
    } 
} 
+0

Hey Aaronはあなたの提案を試しましたが、アプリケーションを実行しようとするとGrailsが失敗することが判明しました。 2010-12-06 11:10:23,984 [main] ERROR context.ContextLoader - コンテキストの初期化に失敗しました org.springframework.beans.factory.BeanCreationException:名前がorgのBeanを作成中にエラーが発生しました。 codehaus.groovy.grails.plugins.web.taglib.ApplicationTagLib ':Beanの初期化に失敗しました – djule5

関連する問題