2011-02-01 102 views
3

我開始使用spring 3 mvc並遇到一個不知道如何解決的問題;在spring 3上驗證@PathVariable url的問題mvc

我試圖使用來驗證URL @pathvariable

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

不過我正在一個異常說:

錯誤/ BindingResult參數聲明沒有模型屬性前面。檢查你的處理器方法簽名!

我已經在網上閱讀過它,它說bindresult必須在你的模型之後,但我的模型是pathVariable。

我使用綁定結果的唯一原因是因爲我想在jsp上顯示message="venueid.not.number"。因此,如果有其他方式,請讓我知道嗎?

回答

3

如果@PathVariable參數驗證失敗,那麼Spring會自動將錯誤添加到請求的BindingResult,您不需要自己這樣做。

正如錯誤所示,您只能在使用基於表單的模型對象時聲明明確的BindingResult參數。它不打算與@PathVariable一起使用。

+0

而且,您如何在jsp上顯示該錯誤? – tsunade21 2011-02-01 14:19:32