在页面更新数据的时候,会出现*Skipping URI variable 'id' since the request contains a bind value with the same name*
按字面解析来看就是:“正在跳过URI变量“id”,因为请求包含同名的绑定值 ”。
其实,就是在请求路径的时候出现了有包含一样的参数绑定,
举一个例子
在SpringMVC中编写了更新学生信息的访问接口。@RequestMapping(value="/{id}/updateMessage")
public String updateMessage(@PathVariable Log id,Model model){
........... 操作.......
}
在JSP页面中的请求更新写法。
<!--使用jstl标签 进行表单的设置-->
<f:from action="updateMessage" method="post" modelAttribute="Student">
<f:input path="id" value="" />
<!--.... 其他信息操作 ....-->
<f:from>
如果是这样进行传值的,就是造成上面的错误。
原因:
在controller访问中已经使用 @PathVariable 标签去绑定用户的id了。然后,JSP页面中请求更新的参数中使用model传参,里面也包含了id。这样就会造成请求的同时会有两个id传递过来。
解决:可以把JSP页面中配置好id进行删除
<f:input path="id" value="" /> <!--删除这一段-->