首页 > 其他分享 >springMVC参数传递方式

springMVC参数传递方式

时间:2023-10-01 20:11:45浏览次数:32  
标签:return String 方式 springMVC age param 参数传递 msg name

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

相关文章

  • token+redis的简单使用方式
    以用户登录为例,讲解token+redis的使用方式,环境是vue和springboot。一、用户登录时序图二、前端代码分析1、前端使用vuestore保存token2、在每次发起请求时进行响应拦截,从vuestore取出token,放在每次请求的请求头上三、后端代码分析1、在控制层接收账号,密码,调用服务层代......
  • axios - get 请求参数传递数组的方式
    npminstallqs导入qs库,如果是TypeScript项目,一同安装npminstall@types/qs。在请求的函数中添加一项配置:file:[demo.ts]const{data}=awaitaxios.get("/flowchart/query/all",{params,lit:[paramsSerializer:params=>{returnqs.stringify(params,......
  • pnputil 是一个命令行实用程序,它用于管理 Windows 系统中的设备驱动程序。它提供了一
    pnputil是一个命令行实用程序,它用于管理Windows系统中的设备驱动程序。它提供了一种简单的方式来安装、卸载、列出和导出设备驱动程序。使用pnputil可以完成以下任务:安装设备驱动程序:将设备驱动程序添加到驱动程序存储库并安装它们。这对于管理员或高级用户来说是很有用的,......
  • 线程的三种创建方式
    一、线程的三种创建方式:1、继承Tread类,重写run方法;2、实现 Runnable接口,实现run方法;3、实现Callable接口,实现call方法,该方式可以获取线程的执行结果。二、继承Tread类1、创建步骤:创建一个继承于Thread类的子类重写Thread类的run()方法->此线程执行的操作声明在......
  • springboot web开发springmvc自动配置原理
    前言我们也知道springboot启用springmvc基本不用做什么配置可以很方便就使用了但是不了解原理,开发过程中遇到点问题估计就比较头疼,不管了解的深不深入,先巴拉一番再说…下面我们先看看官网…我的版本是2.3.2版本,发现官网改动也比较大…不同版本自己巴拉下吧,结构虽然变化了,但......
  • springmvc 获取项目中的所有请求路径
    springboot/springmvc获取项目中的所有请求路径1.编写业务代码@Autowired privateWebApplicationContextapplicationContext;@GetMapping("/getAllURL") publicRestfulResultgetAllURL(){ //获取springmvc处理器映射器组件对象RequestMappingHandlerMapping无法......
  • cad必学的快捷方式,让你作图飞起
    (一)字母类1、对象特性MA:属性匹配ST:文字样式COL:设置颜色LA:图层操作LT:线形LTS:线形比例LW:线宽UN:图形单位ATT:属性定义ATE:编辑属性BO:边界创建,包括创建闭合多段线和面域EXIT:QUIT:退出EXP:输出其它格式文件IMP:输入文件OP,PR:自定义CAD设置PRINT:打印PU:清除垃圾R:重新生成REN......
  • SSM(Spring+SpringMVC+MyBatis)框架集成
    引言进行SSM(Spring+SpringMVC+MyBatis)集成的主要原因是为了提高开发效率和代码可维护性。SSM是一套非常流行的JavaWeb开发框架,它集成了Spring框架、SpringMVC框架和MyBatis框架,各自发挥优势,形成了一个完整的开发框架。首先,使用Spring框架可以实现组件的解耦和依赖注入,通过配置......
  • Jmeter+Influxdb+Grafana平台监控性能测试过程(三种方式)
    一、Jmeter自带插件监控下载地址:https://jmeter-plugins.org/install/Install/安装:下载后文件为jmeter-plugins-manager-1.3.jar,将其放入jmeter安装目录下的lib/ext目录,然后重启jmeter,即可。启动Jmeter,测试计划-->选择监听器jp@gc-TransactionsperSecond、jp@gc-Respons......
  • 拟合不同的冷却方式(分类变量)下,物料温度加入两个分类变量, 物料类型和冷却方式, 给
    在机器学习中,拟合不同冷却方式下物料温度随时间下降的规律可以使用不同的算法和方法。以下是四种常见的方法,它们可以用来生成数据集、拟合模型、解释参数和输出函数方程,以及解释它们的实际意义。线性回归:方法:线性回归是一种用于拟合线性关系的方法,通过寻找最佳拟合直线来预测温度随......