2012-03-02 12 views
0

springMVCを使用してjsonオブジェクトをコントローラに渡すと、jsonオブジェクトをコントローラのpararmenterにバインドしようとしますが、バインディングエラーを処理する方法はわかりますか?私はこれのようなものを使用しますが、ユーザーフレンドリーではないようです。springmvcがjsonリクエストを処理する

public String save(@RequestBody @Valid SomeList list, BindingResult result){ 
    if(result.hasError()){ 
     System.out.println(result); 
     } 
} 

答えて

1

一般に、データを送信した同じビューを返すことができます。そこに<form:error>のタグがある場合、(バインディング情報のために)それらが表示されます。

しかし、これは最も確かに、AJAX呼び出しなので、何を行うことができますする場合は、体内で特定の応答ステータスを設定されている:

response.setStatus(HttpServletResponse.NOT_ACCEPTABLE); 

、その後、Ajaxのレスポンスでそのステータスコード(406)を探してくださいハンドラ。正確な検証情報が必要な場合は、バインディング結果自体を応答としてシリアル化することができます。

0

System.out.printlnは何もしません。基本的には、バインディング結果をサーバjvm std outに出力することです。

文字列を返すので、ビュー名を返すと仮定します。そのため、ユーザーをエラーページにリダイレクトすることができます。

関連する問題