持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第23天,点击查看活动详情
(4)请求参数名称与形参名称不一致
请求与形参中的名字不对应,可以使用
@RequestParam(value="name1",required=true)String namea来进行参数名称绑定。
(2)使用HttpServletRequest对象提取
在方法参数中声明一个request对象,使用request的getParameter()获取表单提交的数据,这样得到的数据还要手工进行数据类型的转换。
public String five(HttpServletRequest request){\
int age=new Integer(request.getParameter("stuage"));\
String name=request.getParameter("stuname");\
System.*out*.println(age+"*********"+name);\
return "main";\
}
3. 请求参数中文乱码解决
对于前面所接收的请求参数,若含有中文,则会出现中文乱码问题。Spring 对于请求参数中的中文乱码问题,给出了专门的字符集过滤器: spring-web-5.2.5.RELEASE.jar 的org.springframework.web.filter 包下的 CharacterEncodingFilter 类。
(1)解决方案
在 web.xml 中注册字符集过滤器,即可解决 Spring 的请求参数的中文乱码问题。不过,最好将该过滤器注册在其它过滤器之前。因为过滤器的执行是按照其注册顺序进行的。
(2)源码分析
4. 处理器方法的返回值
使用@Controller 注解的处理器的方法,其返回值常用的有四种类型:
Ø 第一种:ModelAndView
Ø 第二种:String
Ø 第三种:无返回值void
Ø 第四种:返回对象类型
1.返回 ModelAndView
若处理器方法处理完后,需要跳转到其它资源,且又要在跳转的资源间传递数据,此时处理器方法返回 ModelAndView 比较好。当然,若要返回 ModelAndView,则处理器方法中需要定义 ModelAndView 对象。在使用时,若该处理器方法只是进行跳转而不传递数据,或只是传递数据而并不向任何资源跳转(如对页面的 Ajax 异步响应),此时若返回 ModelAndView,则将总是有一部分多余:要么 Model 多余,要么 View 多余。即此时返回 ModelAndView 将不合适。较少使用。