Spring-mvc中Controller中的方法的参数为什么用Model不用request
@Controller
@RequestMapping("/emp")
public class EmpController {
@RequestMapping("/findEmp.do")
public String find(Model model) {
//此处省略很多代码
return "cost/2";
}
}
这里参数为什么不用ServletRequest request而用Model model,,,model对象绑定的数据最后不还是要绑定到request对象上吗?
干脆直接用request不好吗?为什么老师都用model
------解决思路----------------------
你传request,或者ModelMap也可以,没什么本质区别
只是这里传Model, 减少侵入性,更符合MVC的的设计思想
------解决思路----------------------
ServletRequest要和web容器耦合在一起,难以进行单元测试和复用
------解决思路----------------------
SpringMVC请求时候会按照:
HTTP请求参数名= 命令/表单对象的属性名
的规则自动绑定请求数据,支持“级联属性名”,自动进行基本类型数据转换。
如果有个user类,只要页面表单属性和实体类名称对上,即可自动绑定到user对象上,这样的话方便取。
估计你们老师觉得这样方便吧
