2011-02-01 18 views
3

春3 mvcの使用を開始しており、解決方法がわからない問題が発生しています。春3 mvcの@PathVariable URLの検証に関する問題

は、私が使用してURL @pathvariableを検証しようとしています:

public String showGsscFormWithVenueId (@Valid 
     @Pattern(regexp="(0?[1-9]*)",message="venueid.not.number") 
     @PathVariable String venueId, BindingResult result, Model model) { 

をしかし、私は言った例外を取得しています:

エラー/ BindingResult引数は、モデル属性の前にせずに宣言しました。ハンドラメソッドのシグネチャをチェックしてください!

私はインターネット上でそれを読んだことがあります。それはbindingresultがあなたのモデルの後でなければならないが、私のモデルはpathVariableだと言います。

バインド結果を使用している唯一の理由は、message="venueid.not.number"をjspに表示したいからです。したがって、他の方法があれば教えてください。

答えて

3

@PathVariableパラメータが検証に失敗した場合、Springは自動的にリクエストのBindingResultにエラーを追加します。あなた自身で行う必要はありません。

エラーが示唆するように、フォームベースモデルオブジェクトを使用しているときは、明示的なBindingResultパラメータのみを宣言できます。これは@PathVariableと一緒に使うつもりはありません。

+0

そして、そのエラーをどのようにjspに表示できますか? – tsunade21

+1

@ tsunade21:標準JSTLの ''タグを使用しています。メッセージキーはフィールド名から自動生成されますが、使用する文字列は正確には記憶できません。 – skaffman

+0

スカフマンありがとうございます。 – tsunade21