SPRINGMVC 后台控制器的同一个方法 可以使用两种不同的参数,SPRINGMVC 如何处理这两组不同的参数?
同一个方法queryList 可以有两种参数 ,代码如下:
一、参数绑定:包装类
@RequestMapping(value="/queryList")
public String queryList(Model model,Fruit fruit) {
System.out.println("name:"+fruit.getName());
}
url:
http://localhost:8080/SpringMVC_test/queryList.action?name=%E5%8D%A7%E6%A7%BD
输出:
name:卧槽
name是Fruit包装类的属性名,这种类型会被SpringMVC的处理器适配器解析,会创建出具体的实体类,并将相关的属性值通过set方法绑定到包装类中,所以成功。
二、传入HttpServletRequest和HttpServletResponse,如:
@RequestMapping(value="/queryList")
public String queryList( HttpServletRequest request, HttpServletResponse response) {
System.out.println("name:"+request.getParameter("name"));
return "/fruitsList";
}
url:
http://localhost:8080/SpringMVC_test/queryList.action?name=%E5%8D%A7%E6%A7%BD
输出:
***
name:卧槽
问题如下:
为什么同一个方法 queryList ,它的参数既可以是 HttpServletRequest request, HttpServletResponse response 又可以是 Model model,Fruit fruit ,SPRINGMVC 接收到这两组参数,是如何区分的,又怎么能把这些参数对照到正确的 变量或对象中
一、参数绑定:包装类
@RequestMapping(value="/queryList")
public String queryList(Model model,Fruit fruit) {
System.out.println("name:"+fruit.getName());
}
url:
http://localhost:8080/SpringMVC_test/queryList.action?name=%E5%8D%A7%E6%A7%BD
输出:
name:卧槽
name是Fruit包装类的属性名,这种类型会被SpringMVC的处理器适配器解析,会创建出具体的实体类,并将相关的属性值通过set方法绑定到包装类中,所以成功。
二、传入HttpServletRequest和HttpServletResponse,如:
@RequestMapping(value="/queryList")
public String queryList( HttpServletRequest request, HttpServletResponse response) {
System.out.println("name:"+request.getParameter("name"));
return "/fruitsList";
}
url:
http://localhost:8080/SpringMVC_test/queryList.action?name=%E5%8D%A7%E6%A7%BD
输出:
***
name:卧槽
问题如下:
为什么同一个方法 queryList ,它的参数既可以是 HttpServletRequest request, HttpServletResponse response 又可以是 Model model,Fruit fruit ,SPRINGMVC 接收到这两组参数,是如何区分的,又怎么能把这些参数对照到正确的 变量或对象中
...全文
相关推荐
详解SpringMVC解决跨域的两种方案
通过注解的方式允许跨域使用 @CrossOrigin 注解可以使控制器类或方法支持跨域。
SpringMVC注解@RequestParam方法原理解析
使用时需要注意其四个属性的作用,并根据不同的情况进行设置。
SpringMVC上传文件的两种方法
其中,文件上传是一个非常常见的需求,SpringMVC也提供了多种方式来实现文件上传。本文将详细介绍SpringMVC上传文件的两种方法,并分析每种方法的优缺点。
解决SpringMVC接收不到ajaxPOST参数的问题
但是,在使用SpringMVC时,经常会遇到ajax POST请求参数接收不到的问题。本文将探讨解决这个问题的方法和原因。问题描述在使用ajax POST请求时,经常会遇到参数接收不到的问题。
SpringMVC接收复杂集合对象(参数)代码示例
**集合类型**:SpringMVC可以处理各种集合类型的参数,如List、Set、Array等。


Web 开发
