SpringMVC教程

SpringMVC处理器方法的参数

处理器方法可以包含以下四类参数,这些参数会在系统调用时由系统自动赋值,即程序员可在方法内直接使用。

● HttpServletRequest

● HttpServletResponse

● HttpSession

● 请求中所携带的请求参数

逐个参数接收(掌握)

只要保证请求参数名与该请求处理方法的参数名相同即可。

项目:receiveParameters-property。在 requestMapping-method 基础上修改。

Step1:修改 index 页面

Step2:修改处理器类 MyController

Step3:添加 show 页面

在/WEB-INF/jsp 下添加 show.jsp 页面。

请求参数中文乱码问题(掌握)

对于前面所接收的请求参数,若含有中文,则会出现中文乱码问题。Spring 对于请求参数中的中文乱码问题,给出了专门的字符集过滤器:spring-web-4.3.9.RELEASE.jar 的org.springframework.web.filter 包下的 CharacterEncodingFilter 类。

1、解决方案

在 web.xml 中注册字符集过滤器,即可解决 Spring 的请求参数的中文乱码问题。不过,最好将该过滤器注册在其它过滤器之前。因为过滤器的执行是按照其注册顺序进行的。直接在项目 receiveParameters-property 上进行修改。

2、源码分析

打开 CharacterEncodingFilter 类的源码,发现有三个 set 方法。

字符集设置核心方法:

校正请求参数名@RequestParam(掌握)

所谓校正请求参数名,是指若请求 URL 所携带的参数名称与处理方法中指定的参数名不相同时,则需在处理方法参数前,添加一个注解@RequestParam(“请求参数名”),指定请求 URL 所携带参数的名称。该注解是对处理器方法参数进行修饰的。value 属性指定请求参数的名称。

项目:receiveParameters-params。在 receiveParameters-property 基础上修改。

Step1:修改 index 页面

将表单中的参数名称修改的与原来不一样。

Step2:修改处理器类 MyController

对象参数接收(掌握)

将处理器方法的参数定义为一个对象,只要保证请求参数名与这个对象的属性同名即可。

项目:receiveParameters-object。在 receiveParameters-property 基础上修改。

Step1:定义类 Student

Step2:修改处理器类 MyController

Step3:修改 show 页面

  

技术文档推荐

更多>>

视频教程推荐

更多>>