1.springMVC参数传递方式
1.2动态参数绑定
2.代码
1 package com.cn.param; 2 3 import com.sun.org.apache.xpath.internal.operations.Mod; 4 import org.springframework.stereotype.Controller; 5 import org.springframework.ui.ModelMap; 6 import org.springframework.web.bind.annotation.ModelAttribute; 7 import org.springframework.web.bind.annotation.PathVariable; 8 import org.springframework.web.bind.annotation.RequestMapping; 9 import org.springframework.web.bind.annotation.RequestParam; 10 11 import javax.servlet.http.HttpServletRequest; 12 import javax.servlet.http.HttpServletResponse; 13 14 /** 15 * @Author hxy 16 * @Description 17 * @Date 2023/9/13 11:08 18 * @Version 1.0 19 */ 20 @Controller 21 @RequestMapping("param") 22 public class ParamController { 23 24 /** 25 * 如果方法内部需要使用request,session,respone等对象,只需要在方法的形参中定义即可。 26 * 需要哪个对象就定义那个,SpringMVC 在调用方法会自动将对象注入进来 27 * @return {@link String} 28 */ 29 @RequestMapping("/test1.do") 30 public String test1(HttpServletRequest request, 31 HttpServletResponse response, ModelMap modelMap){ 32 String name = request.getParameter("name"); 33 String age = request.getParameter("age"); 34 String msg = String.format("name:%s,age:%S",name,age); 35 modelMap.addAttribute("msg",msg);//等价于request.setAttribute("msg",msg); 36 37 return "result"; 38 } 39 40 /** 41 * Spingmvc 调用方法之前,会根据方法参数名称从request请求中获取参数值 42 * 过程: 43 * 1.将request.getParameter("name") 返回值传递给name参数 44 * 2.Ineger.valueOf(request.getParameter("age"))返回值传递给age参数 45 * 注意:表单控件的name属性名称要和方法参数名称要相同才能绑定成功。否则绑定失败 46 * @param name 47 * @param age 48 * @param modelMap 49 * @return {@link String} 50 */ 51 @RequestMapping("/test2.do") 52 public String test2(String name,Integer age,ModelMap modelMap){ 53 String msg = String.format("name:%s,age:%S",name,age); 54 modelMap.addAttribute("msg",msg); 55 return "result"; 56 } 57 58 59 /** 60 * 如果方法的参数名称和表单控件的name属性名称不一致, 61 * 则可以通过@RequestParam注解设置表单控件name属性名 62 * @param name 63 * @param age 64 * @param modelMap 65 * @return {@link String} 66 */ 67 @RequestMapping("/test3.do") 68 public String test3(@RequestParam("pname") String name, 69 @RequestParam("page") Integer age, ModelMap modelMap){ 70 String msg = String.format("name:%s,age:%S",name,age); 71 modelMap.addAttribute("msg",msg); 72 return "result"; 73 } 74 75 /**参数绑定时如果表单控件太多则可以绑定对象,对象的属性名和控件的name属性名必须一致 76 * @ModelAttribute注解:用于自动将参数绑定对象放入ModelMap中 77 * @param userinfoDto 78 * @return {@link String} 79 */ 80 @RequestMapping("/test4.do") 81 public String test4(@ModelAttribute("msg") UserinfoDto userinfoDto){ 82 System.out.println(userinfoDto); 83 // modelMap.addAttribute("msg",userinfoDto); 84 return "result"; 85 } 86 87 /** 88 * 参数绑定时如果表单控件太多太杂则可以绑定多个对象,对象的属性名和控件的name属性名 89 * @param userDto 90 * @param userExtrainfoDto 91 * @return {@link String} 92 */ 93 @RequestMapping("/test5.do") 94 public String test5(@ModelAttribute("msg") UserDto userDto,UserExtrainfoDto userExtrainfoDto){ 95 System.out.println(userDto); 96 System.out.println(userExtrainfoDto); 97 return "result"; 98 } 99 100 /**使用组合对象绑定控件数据name 101 * @param userResumeDto 102 * @return {@link String} 103 */ 104 @RequestMapping("/test6.do") 105 public String test6(@ModelAttribute("msg") UserResumeDto userResumeDto){ 106 System.out.println(userResumeDto); 107 return "result"; 108 } 109 110 /**动态url 地质参数绑定 111 * url:/param/v1(参数1)/binge(参数2)/test7.do 112 * @return {@link String} 113 */ 114 @RequestMapping("/{p1}/{p2}/test7.do") 115 public String test7(@PathVariable("p1") String p1, @PathVariable("p2") String p2, 116 ModelMap modelMap){ 117 String msg = String.format("p1:[%s],p2[%s]",p1,p2); 118 System.out.println(msg); 119 modelMap.addAttribute("msg",msg); 120 return "result"; 121 122 } 123 }
标签:return,String,方式,springMVC,age,param,参数传递,msg,name From: https://www.cnblogs.com/hxysg/p/17739205.html