一、处理器方法可以包含的参数
1,HttpServletRequest
2,HttpServletResponse
3,HttpSession
4,用于承载数据的Model
5,请求中所携带的请求参数
今天介绍处理器方法如何接收请求参数
二、逐个接收参数
只要保证请求参数名与该请求处理方法的参数名相同即可。
index.jsp
处理器:
三、校正请求参数名@RequestParam
所谓校正请求参数名,是指若请求 URL 所携带的参数名称与处理方法中指定的参数名不相同时,则需在处理方法参数前,添加一个注解@RequestParam(“请求参数名”),指定请求 URL 所携带参数的名称。该注解是对处理器方法参数进行修饰的。@RequestParam()有三个属性:
1,value:指定请求参数的名称。
2,required:指定该注解所修饰的参数是否是必须的,boolean 类型。若为 true,则表示请求中所携带的参数中必须包含当前参数。若为 false,则表示有没有均可。
3,defaultValue:指定当前参数的默认值。若请求 URI 中没有给出当前参数,则当前方法参数将取该默认值。即使 required 为 true,且 URI 中没有给出当前参数,该处理器方法参数会自动取该默认值,而不会报错。
index.jsp
处理器:
四、整体接收参数
将处理器方法的参数定义为一个对象,只要保证请求参数名与这个对象的属性同名即可。参数名称中不用写为“对象.属性”的形式。
Student类
处理器:
五、域属性参数接收
所谓域属性,即对象属性。当请求参数中的数据为某类对象域属性的属性值时,要求请求参数名为“域属性名.属性”。
实体类:
index.jsp
六、路径变量@PathVariable
对于处理器方法中所接收的请求参数,可以来自于请求中所携带的参数,也可以来自于请求的 URI 中所携带的变量,即路径变量。不过,此时,需要借助@PathVariable 注解。
@PathVariable 在不指定参数的情况下,默认其参数名,即路径变量名与用于接收其值的属性名相同。若路径变量名与用于接收其值的属性名不同,则@PathVariable 可通过参数指出路径变量名称。
url: