spring mvc 中页面form表单传递对象的有关问题。
spring mvc 中页面form表单传递对象的问题
@RequestMapping(value = "/{name}/update", method = RequestMethod.POST) public String update(@PathVariable String name, @Validated Book book, BindingResult br) { if (br.hasErrors()) { System.out.println("error"); return "update"; } books.put(name, book); System.out.println("update " + book); return "redirect:/book/list.html"; }
这个是处理book类修改方法的控制器(book有三个属性,分别是name,price和author),获取到的第一个参数是修改前book的name
如果这样写的话,在页面修改了book的name,但是接收到的永远是修改前的name,而其他两个属性可以随意修改。原因是book的name属性与第一个参数name存在冲突,如果把第一个参数名字改成别的(譬如name1)就不存在这个问题。
我的问题是:这是为什么,是因为什么引起的?求大神指教
——解决思路———————-
我觉得你可以用看下请求路径, 这第一个参数的name是从路径来的, 可能自动封装的时候会有影响!
如果弄不懂的话,也没事, 因为实际开发不会这么用的, 你想下, 你要改name, 又用name来做标记进入访问,这个本身是矛盾的吧
——解决思路———————-
struts2已经掌握了现在还要学习springMVC,我想往android方面发展