SpringMVC传入参数
来源:互联网 发布:jquery.min.js的作用 编辑:程序博客网 时间:2024/06/07 05:39
测试使用的类:
public class User { private String name;// 姓名 private Integer age;// 年龄 public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } @Override public String toString() { return "User [name=" + name + ", age=" + age + "]"; } public User(String name, Integer age) { super(); this.name = name; this.age = age; } public User() { super(); }}
//用户的加强类public class UserDto {private User user;//用户对象public User getUser() { return user;}public void setUser(User user) { this.user = user;}private List<UserScore> list;//参赛项目和得分public List<UserScore> getList() { return list;}public void setList(List<UserScore> list) { this.list = list;}@Overridepublic String toString() { return "UserDto [user=" + user + ", list=" + list + "]";}public UserDto(User user, List<UserScore> list) { super(); this.user = user; this.list = list;}public UserDto() { super();}}
public class UserScore { private String competitionName;//比赛科目 private Float score;//成绩 public String getCompetitionName() { return competitionName; } public void setCompetitionName(String competitionName) { this.competitionName = competitionName; } public Float getScore() { return score; } public void setScore(Float score) { this.score = score; } @Override public String toString() { return "UserScore [competitionName=" + competitionName + ", score=" + score + "]"; } public UserScore(String competitionName, Float score) { super(); this.competitionName = competitionName; this.score = score; } public UserScore() { super(); }}
1.URI 模板模式映射
@RequestMapping("/user")public class UserController{ //页面请求 //http://localhost:8080/springmvc/user/queryUser1/12 @RequestMapping(value="/queryUser1/{id}",method=RequestMethod.GET) //分析:参数id在url中传递,传给id,method=RequestMethod.GET url请求必须为get方法 public void queryUser1(@PathVariable String id) { System.out.println("id:"+id); //结果: id:12 }
2参数传递的是user 的属性名
页面
<form action="${pageContext.request.contextPath }/user/queryUser2" method="post"> 姓名:<input name="name" value=""/> <br/> 年龄:<input name="age" value=""/> <br/> <input type="submit" value="提交 "/> </form>
controller
@RequestMapping("/queryUser2") public void queryUser2(User user) { System.out.println(user); //结果 User [name=aaa, age=12] }
3参数传递的是user.属性名,需要设置一个userDto对象,其中有个属性是user
页面
<form action="${pageContext.request.contextPath }/user/queryUser3" method="post"> 姓名:<input name="user.name" value=""/> <br/> 年龄:<input name="user.age" value=""/> <br/> <input type="submit" value="提交 "/> </form>
controller
@RequestMapping("/queryUser3") public void queryUser3(UserDto userDto ) { System.out.println(userDto.getUser()); //结果 User [name=ww, age=33] }
4数组传参
对页面相同name,传过来是就是一个数组,这里以checkbox为例
页面
//<form action="delete"> <table width=""> <tr > <td>选择</td> <td>path</td> <td>姓名</td> <td>年龄</td> </tr> <tr> <td><input type="checkbox" name="deleteId" value="奥巴马1"/></td> <td>/springmvc</td> <td>奥巴马1</td> <td>45</td> </tr> <tr> <td><input type="checkbox" name="deleteId" value="奥巴马2"/></td> <td>/springmvc</td> <td>奥巴马2</td> <td>45</td> </tr> <tr> <td><input type="checkbox" name="deleteId" value="奥巴马3"/></td> <td>/springmvc</td> <td>奥巴马3</td> <td>45</td> </tr> <tr><td><input type="submit" value="批量删除 "/></td> </tr> </table> </form>
controller
@RequestMapping("/delete") //String[] deleteId 设置多个String【】传参 public void delete(String[] deleteId) { for (String string : deleteId) { System.out.print(string+" "); } } 输出:"奥巴马1 "奥巴马2 "奥巴马3
5.list 集合传参
页面
<form action="${pageContext.request.contextPath }/user/list" method="post"> <br/> 姓名:<input name="name" value="董大鹏"/> <br/> 年龄:<input name="user.age" value="12"/> <br/> 课程名:<input type="text"name="list[0].competitionName" value="游泳"/>分数:<input type="text"name="list[0].score" value="50"/><br/> 课程名:<input type="text"name="list[1].competitionName" value="攀岩"/>分数:<input type="text"name="list[1].score" value="70"/><br/> 课程名:<input type="text"name="list[2].competitionName" value="羽毛球"/>分数:<input type="text"name="list[2].score" value="90"/><br/> <input type="submit" value="提交 "/> </form>
controller
@RequestMapping("/list") //设置页面传参方式 属性名|字符串,list集合,对象.属性名 public void list(User user,UserDto userDto,String name) { System.out.println(user );//获取ID System.out.println(userDto); System.out.println(name); //结果 //User [name=董大鹏, age=null] //UserDto [user=User [name=null, age=12], list=[UserScore [competitionName=游泳, score=50.0], UserScore [competitionName=攀岩, score=70.0], UserScore [competitionName=羽毛球, score=90.0]]] //董大鹏 }
6.@RequestParam绑定单个请求参数
@RequestMapping("queryUser4") //@RequestParam(value="id",defaultValue="34", required=true //value="id" 请求的参数名字为id //required=true 表示请求中一定要有相应的参数,否则将报400错误码; //defaultValue="34" 表示如果请求没有id这个参数是,设置默认请求参数为id=34 //String Userid 用Userid来接收id public void queryUser4(Model model,@RequestParam(value="id",defaultValue="34", required=true)String Userid,UserDto userDto) { System.out.println("groupid:"+Userid); //页面请求 http://localhost:8080/springmvc/user/queryUser4 //结果 groupid:34 //页面请求 http://localhost:8080/springmvc/user/queryUser4?id=10 //结果 groupid:10 }
0 0
- springmvc 传入参数
- SpringMVC传入参数
- SpringMVC传入参数
- springMvc 可传入的参数
- SpringMVC 传入参数(@PathVariable)乱码
- JAVA_OA(五):SpringMVC接受传入页面的参数值
- 传入参数
- springmvc mybatis,传入mapper中查询数据库,参数变问号,无效的参数
- springmvc 传入controller乱码
- springmvc获取不到js传入的参数失败的菜鸟心得
- c++传入参数读取
- 检查传入参数
- WinMain参数传入问题
- creatprocess 传入参数例子
- Ibatis传入数组参数
- struts2参数传入
- 多线程--传入参数
- gdb传入参数
- 机器学习中的概率问题
- Redis-Hash
- mysql5.7主从复制--在线变更复制类型
- 常用十进制与二进制,八进制,十六进制转换。
- Android基础中四种点击事件的实现及接口回调
- SpringMVC传入参数
- Spark ML 分布式机器学习(二):pipeline
- 基于jQuery建立前端消息框架
- 一、MySQL主从同步(binlog方式)
- Git版本管理之旅(一)—— Git简介及架构浅析
- 2007年大学生电子设计大赛国赛电源类题目设计报告
- 二、MySQL主从切换
- [BZOJ]4547: Hdu5171 小奇的集合 矩阵乘法
- android自动化测试Uiautomator源码分析之一