我开始使用弹簧3 mvc并遇到了一个不知道如何解决的问题;
我正在尝试使用以下网址验证网址@pathvariable
:
public String showGsscFormWithVenueId (@Valid
@Pattern(regexp="(0?[1-9]*)",message="venueid.not.number")
@PathVariable String venueId, BindingResult result, Model model) {
但是我得到一个例外说:
在没有先前模型属性的情况下声明的Errors / BindingResult参数。检查处理程序方法签名!
我在互联网上读过这篇文章,它说bindresult必须在你的模型之后,但我的模型是pathVariable。
我使用绑定结果的唯一原因是因为我想在jsp上显示message="venueid.not.number"
。因此,如果有其他方法,请告诉我吗?
答案 0 :(得分:3)
如果@PathVariable
参数验证失败,那么Spring会自动将错误添加到请求的BindingResult
,您不需要自己执行此操作。
正如错误所示,当您使用基于表单的模型对象时,您只能声明显式的BindingResult
参数。它不适用于@PathVariable
。