3.1 基本类型参数

请求参数和方法的形参 同名即可

springMVC默认可以识别的日期字符串格式为: YYYY/MM/dd HH:mm:ss
通过@DateTimeFormat可以修改默认日志格式

 //网页端输入: http://xxxx/param/test1?id=1&name=shine&gender=true&birth=2020/12/12 12:13:20@RequestMapping("/test1")public String test1(Integer id, String name, Boolean gender, Date birth){System.out.println("test1");System.out.println("id:"+id+" name:"+name+" gender:"+gender+" birth:"+birth);return "hello";}
http://localhost:8080/param/test1?id=1&name=shine&gender=true&birth=2020/12/12%2012:13:20test1
id:1 name:shine gender:true birth:Sat Dec 12 12:13:20 CST 2020

3.2 实体收参【重点

请求参数和实体的属性 同名即可
上述使用参数办法如果参数较多不方便,就创建一个实体类承载这些参数

public class User {private Integer id;private String name;private Boolean gender;private Date birth;private String[] hobby;//set/get ...
}// http://xxxx/param/test1?id=1&name=shine&gender=true&birth=2020/12/12 12:13:20@RequestMapping("/test2")public String test2(User user){System.out.println("test2");System.out.println(user);return "hello";}
http://localhost:8080/param/test1?id=1&name=shine&gender=true&birth=2020/12/12%2012:13:20test1
id:1 name:shine gender:true birth:Sat Dec 12 12:13:20 CST 2020

3.3 数组收参

简单类型的 数组

创建表单jsp

<form action="${pageContext.request.contextPath}/param/test3">id: <input type="text" name="id"> <br>name:<input type="text" name="name"><br>gender:<input type="text" name="gender"><br>birth:<input type="text" name="birth"><br><input type="checkbox" name="hobby" value="football"> 足球<input type="checkbox" name="hobby" value="basketball"> 篮球<input type="checkbox" name="hobby" value="volleyball"> 排球 <br><input type="submit" value="提交"></form>
    // http://xxxx/param/test3?hobby=football&hobby=basketball&hobby=volleyball@RequestMapping("/test3")
//    public String test3(Stirng[] hobby){public String test3(User user){System.out.println("test3");System.out.println(user);return "hello";}
http://localhost:8080/param.jsp
http://localhost:8080/param/test3?id=1&name=xiaoming&gender=true&birth=2020%2F12%2F20&hobby=football&hobby=basketballtest3
User{id=1, name='xiaoming', gender=true, birth=Sun Dec 20 00:00:00 CST 2020, hobby=[football, basketball]}

3.4 集合收参 【了解】

注意:如果使用集合地址栏输入集合的【】符号时会乱码,需要用表单传递参数

public class UserList {public List<User> getUsers() {return users;}public void setUsers(List<User> users) {this.users = users;}private List<User> users;
}
<form action="${pageContext.request.contextPath}/param/test4" method="post">id: <input type="text" name="users[0].id"> <br>name:<input type="text" name="users[0].name"><br>gender:<input type="text" name="users[0].gender"><br><hr>id: <input type="text" name="users[1].id"> <br>name:<input type="text" name="users[1].name"><br>gender:<input type="text" name="users[1].gender"><br><input type="submit" value="提交"></form>
// post请求:http://...?users[0].id=1&users[0].name=zhangsan&users[0].birth=2018-12-12&users[1].id=2&....// http://xxx/param/test4?users[0].id=1&users[0].name=shine&users[0].gender=true&users[1].id=2&users[1].name=zhangsan@RequestMapping("/test4")public String test4(UserList userList){System.out.println("test4");for (User user : userList.getUsers()) {System.out.println(user);}return "hello";}

3.5 路径参数

// {id} 定义名为id的路径;【/hello/{id}】的匹配能力和【/hello/*】等价
// http://localhost:8989/.../hello/10   {id}匹配到10// {id} 命名路径// {id} 等价于* 后面可以写任意符合类型的id  如:/test5/1   test5/2   test5/xxxx@RequestMapping("/test5/{id}")public String test5(@PathVariable("id") Integer id){System.out.println("test5");System.out.println("id:"+id);return "hello";}@RequestMapping("/test6/{id}/{name}")public String test6(@PathVariable Integer id,@PathVariable("name") String name2){//把{id} 路径匹配到的值赋给name参数System.out.println("test6");System.out.println("id:"+id);System.out.println("name:"+name2);return "hello";}
http://localhost:8080/param/test5/22
test5
id:22
http://localhost:8080/param/test6/22/xiaomingtest6
id:22
name:xiaoming

3.6 中文乱码

首先,页面中字符集统一

JSP : <%@page  pageEncoding="utf-8" %>
HTML : <meta charset="UTF-8">

其次,tomcat中字符集设置,对get请求中,中文参数乱码有效

Tomcat配置:URIEncoding=utf-8

最后,设置此filter,对post请求中,中文参数乱码有效,
在web.xml中配置过滤器

<!-- 此过滤器会进行:request.setCharactorEncoding("utf-8"); -->
<filter><filter-name>encoding</filter-name><filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class><init-param><param-name>encoding</param-name><param-value>utf-8</param-value></init-param>
</filter>
<filter-mapping><filter-name>encoding</filter-name><url-pattern>/*</url-pattern>
</filter-mapping>

springmvc03 接收请求参数相关推荐

  1. SpringMVC框架 学习DAY_02 : 接收请求参数/向模板页面转发数据/重定向与转发 /Session

    1. 接收客户端提交的请求参数 1.1. 使用HttpServletRequest接收请求参数 在处理请求的方法的参数列表中,添加HttpServletRequest类型的参数,在处理请求的过程中,调 ...

  2. java控制器接收请求参数_SpringMVC之接收请求参数和页面传参

    Spring接收请求参数 1,使用HttpServletRequest获取 Java代码 @RequestMapping("/login.do") public String lo ...

  3. java 页面接收参数_详解SpringMVC——接收请求参数和页面传参

    spring接收请求参数: 1,使用HttpServletRequest获取 @RequestMapping("/login.do") public String login(Ht ...

  4. springmvc接收请求参数(springmvc教程二)

    目录 工程代码 普通接收请求参数 pojo接收请求参数 @RequestParam接收请求参数 restful风格 URL接收请求参数 json接收请求参数 Array数据接收请求参数 接收请求参数序 ...

  5. Struts2的第二天(Action接收请求参数)

    Struts2的第二天 Struts2的第二天的内容 1. Struts2框架中的Servlet的API的使用 2. Struts2中Action接收请求参数 3. Struts2中自定义拦截器 案例 ...

  6. 重定向转发,接收请求参数及数据回显-P11,12

    重定向和转发: 我们的实现本身就是转发 . 想删掉视图解析器的话,就需要在return把路径写全 重定向就改为redirect:而且重定向不走视图解析器,因为是新的请求,新的URL. 接收请求参数: ...

  7. Spring MVC 接收请求参数所有方式总结!

    来源:简书,作者:zhrowable 链接:https://www.jianshu.com/p/5f6abd08ee08 SpringMVC请求参数接收 其实一般的表单或者JSON数据的请求都是相对简 ...

  8. HttpServletRequest和@Requestparam、@RequestBody、直接实体接收请求参数的区别与示例

    文章目录 概述 1.HttpServletRequest 2.@RequestParam 3.@RequestBody 4.直接实体接收 HttpServletRequest请求方法详解: 概述 客户 ...

  9. springMVC接收请求参数的几种方式

    1.  用注解@RequestParam绑定请求参数 用注解@RequestParam绑定请求参数a到变量a,当请求参数a不存在时会有异常发生,可以通过设置属性required=false解决,例如: ...

最新文章

  1. Sencha Touch 开发入门
  2. java中有ClockPane类吗,JavaFX实现简易时钟效果(二)
  3. Linux下Makefile的automake生成全攻略--转
  4. C语言90道试题资料
  5. how is SAP OData metadata read from CDS view via SADL
  6. 收藏一些自己认为好的网站或博客
  7. 【整理】MySQL 之 autocommit
  8. jax-ws和jax-rs_JAX-RS和OpenAPI对Hypermedia API的支持:任重而道远
  9. leetcode 57. 插入区间
  10. 工作177:表单重置项目处理
  11. linux怎么安装git服务器,linux下安装git服务端
  12. Matlab添加BNT工具箱
  13. java 接口隔离_关于接口隔离原则的一个实现:
  14. 微服务升级_SpringCloud Alibaba工作笔记0009---阿里云部署微服务_在内网不同机器上_报错_注册中心找不到对应的机器_遇到java.net.UnknownHostExceptio
  15. 实现strSrt()
  16. STM32CbueMX之W25Q256
  17. 医学图像处理眼科检查
  18. 【转】Photoshop中快速复制的技巧有哪些
  19. iTop-4412 裸机教程(一)- 从启动方式开始
  20. Android基于安卓手机个人理财系统

热门文章

  1. linux link path walk,python之os.walk()与os.path.walk()
  2. 服务器重启宝塔面板打不开了【已完美解决】
  3. Uva(10305)
  4. [QA翻译]如何在Storm里拆分stream流?
  5. C语言的本质(7)——C语言运算符大全
  6. hdu1426 Sudoku Killer
  7. SQL 语句 - Select(6): 字段运算
  8. 简答如何做项目的测试经理!!!
  9. Linux音频驱动开发概括
  10. 八大排序算法总结以及python实现