springMVC—接受参数以及返回参数

开发者福利!热门AI工具限时免费用 购周边即赠Coding Plan Lite,Claude Code、Cursor等20+工具畅享,效率翻倍! 阅读详情

    springMVC将请求发送到controller时需要接受参数,在controller中处理完业务逻辑以后也会将参数再次转发给其他页面,在strtus2中我们会使用到模型驱动,在springMVC中页提供多多种灵活了接受和返回参数的方式。下面就总结一下。

controller接受参数

    在这里可以直接使用url方法获取参数比如:http://localhost:8080/springmvc-2/toPerson1.do?name=123

1.参数列表中可以直接定义request,response,session

@RequestMapping(value="/toPerson.do")
public String toPerson(HttpServletRequest request){
	String name = request.getParameter("name");
	String[] favs = request.getParameterValues("fav");
	System.out.println(name);
	for(int str : fav){
		System.out.println(str);
	}
	return"index";
}

2.在参数列表中直接定义要接收的参数和参数的数据类型

@RequestMapping(value="/toPerson1.do")
public String toPerson1(String name, int[] fav){
	System.out.println("name: "+name +"birthday:"+birthday);
	for(int str : fav){
		System.out.println(str);
	}
	return"index";
}


3.实体类的接受

    在参数列表中直接定义要接受的实体类,请求中传递的参数名要和实体类中的set方法后的字符串匹配,否则无法注入。只要有请求到达就会按照参数列表中的实体类来创建对象。

    springmvc中的controller是单例的但是不会带来并发问题,因为所有的参数的接受都是在参数列表中,并不是成员变量,每次请求,传递的参数都是一个新的实例,不会产生并发问题。

@RequestMapping(value="/toPerson4.do")
public String toPerson4(Person person){
	System.out.println(person.toString());
	System.out.println(user.toString());
	System.out.println(name);
	System.out.println(bir);
	return"index";
}  

controller返回参数

1.使用map返回到页面,把数据返回到页面上

@RequestMapping(value="/toPerson5.do")
public ModelAndView toPerson5() throws Exception{
	Person person = new Person();
	person.setId(1);
	person.setName("lisi");
	person.setBir(newSimpleDateFormat("yyyy-MM-dd").parse("1985-04-22"));
	Map<String,Object>map=new HashMap<String,Object>();
	map.put("p", person);
	return new ModelAndView("toPerson",map);
}

 返回值类型是String,在参数列表中直接来定义一个Map,这个map不是用来接受参数的,而是用来把参数写到页面上去的

@RequestMapping(value="/toPerson6.do")
public ModelAndView toPerson6(Map<String,Object> map) throws Exception{
	Person person = new Person();
	person.setId(1);
	person.setName("lisi");
	person.setBir(newSimpleDateFormat("yyyy-MM-dd").parse("1985-04-22"));
	map=newHashMap<String,Object>();
	map.put("p",person);
	returnnew ModelAndView("toPerson",map);
}      

2.使用spring 提供的model返回到页面

 返回值类型是String代表viewName, 参数列表使用Model用来把数据写到页面上

@RequestMapping(value="/toPerson7.do")
public String toPerson7(Model model) throws Exception{
	Personperson = new Person();
	person.setId(1);
	person.setName("lisi");
	person.setBir(newSimpleDateFormat("yyyy-MM-dd").parse("1985-04-22"));
	model.addAttribute("p",person);
	return"toPerson";
}  

toPerson.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
<%
String path = request.getContextPath();
//http://localhost:8080/springmvc-1/
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
  	<!-- 在所有请求前边加上basePath   http://localhost:8080/springmvc-1/-->
    <base href="<%=basePath%>">
    
    <title>My JSP 'index.jsp' starting page</title>
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->
  </head>
  
  <body>
  	<h1>${p.id }</h1>
  	<h1>${p.name }</h1>
  	<h1><fmt:formatDate value="${p.bir }" pattern="yyyy-MM-dd"/></h1>
  </body>
</html>

    总之,在接受参数的方式中springMVC可以定义requet去接受,可以直接定义参数列表,在接受实体对象的时候也可以定义参数列表接受数据。在返回数据的时候可以使用Map返回数据,也可以使用springMVC提供的Mode返回数据。

SpringMVC 方法四种类型返回值总结(你用过几种) 主要介绍了SpringMVC 方法四种类型返回值总结(你用过几种),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧 立即下载

相关推荐

超实用!VS Code配置C/C++开发环境全攻略

本文提供了一份详细的VS Code配置C/C++开发环境全攻略。从MinGW-w64编译器的选择与安装,到VS Code核心扩展的配置,再到tasks.json构建任务与launch.json调试环境的设置,手把手指导初学者完成从环境搭建到高效开发与调试的全过程,帮助开发者快速上手C/C++项目。

weixin_28829479的博客 166

mvc 返回list数据 页面 mode

<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<IEnumerable<实体命名空间>>" %> <%foreach (var item in Model) <td><%=Html.DisplayFor(m=>item.ID)%></td&gt...

weixin_30319153的博客 192

Python 实战:高效绕过 reCAPTCHA v3 的自动化策略

本文深入探讨了使用Python高效绕过reCAPTCHA v3验证的实战策略。文章首先解析了reCAPTCHA v3无感验证的评分机制,随后详细介绍了两种核心解决方案:一是利用CapSolver等专业API服务直接获取有效token,二是通过Playwright模拟真人浏览器行为以提升评分。文中提供了从定位关键参数到代码实现的完整流程,强调了合规操作与请求频率控制的重要性,为自动化开发者提供了切实可行的技术指南。

weixin_29057065的博客 459

函数的参数返回

默认参数 def stu_register(name,age,country,course): print("----注册学生信息------") print("姓名:",name) print("age:",age) print("国籍:",country) print("课程:",course) stu_registe...

178

函数的参数返回

函数根据有没有参数以及有没有返回值,可以相互结合,一共有四种组合形式 1.无参数,无返回值 2.无参数,有返回值 3.有参数,无返回值 4.有参数,有返回值 定义函数时,是否接收参数,或者是否返回结果,是根据实际的功能需求来决定的! 1.如果函数内部处理的数据不确定,就可以将外界的数据以参数传递到函数内部 2.如果希望一个函数执行完成后,向外界汇报执行结果,就可以增加函数的返回值 函数的返回值 ...

weixin_45209380的博客 1833

Mvc控制器的4种接收方式

接收是指在mvc中的控制器,接收来自视图的请求提交过来的参数; 第一种:实参方式接收 1、 在类中声明接收数据的变量 2、 声明的实参名必须与视图提交请求的参数数据一样,否则接收不到或者报错! 3、 使用字符串拼接,然后返回; 注:该方法可以接收到post请求跟get请求; 第二种:FormCollection实例类 1、 在类的实参中使用 FormCollection实例类 声明接收数据的方法; 2、 创建变量接收获取的数据;声明的方法[“名字”] 3、 [“”]中的名字,该名字必须与视图提交请求的参

拔高、提升、创新! 880

SpringMVC应用篇】SpringMVC请求参数接收处理

2、Post方式的Body请求体传参

输入技术、输出想法 3844

JAVA框架——SpringMVC总结(一)(SpringMVC执行过程,视图解析器,请求和接受问题,接受参数问题,返回结果问题)

一、SpringMVC简介 SpringMVC:是基于spring的一个框架, 实际上就是spring的一个模块, 专门是做web开发的。可以理解为servlet的一个升级 web开发底层是servlet , 框架是在servlet基础上面加入一些功能,做web开发方便。 SpringMVC能够创建对象, 放入到SpringMVC容器, SpringMVC容器中放的是控制器对象。 我们使用@Contorller创建控制器对象, 把对象放入到SpringMVC容器中, 把创建的对象作为控制器使用,

Mr_GYF的博客 709

SpringMVC-------2.接受参数,保存数据和返回数据

1.springmvc接受参数 1.1直接把表单的参数写在Controller相应的方法的形参中    1.2通过HttpServletRequest接收 1.3通过一个bean来接收,post方式和get方式都可以。   创建user实体类 1.4用注解@RequestParam绑定请求参数到方法入参 当表单元素的name...

awgdzxp872355010的博客 180

SpringMvc接受存储过程返回的OUT(输出)类型的参数的值

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33736048的博客 645

java返回数据存放_SpringMVC-------2.接受参数,保存数据和返回数据

1.springmvc接受参数1.1直接把表单的参数写在Controller相应的方法的形参中1.2通过HttpServletRequest接收1.3通过一个bean来接收,post方式和get方式都可以。创建user实体类1.4用注解@RequestParam绑定请求参数到方法入参当表单元素的name属性和方法参数名不同时,通过@RequestParam来绑定参数1.5当接收的参数是时间类型的...

weixin_39644325的博客 466

springmvc中处理器(控制器)能够返回的类型及处理器默认能够接受参数类型

一、处理器(控制器)能够返回的类型: 1.ModelAndView:把数据模型和试图设置到ModelAndView对象中 2.void:把数据类型和视图设置到request域中 3.String:返回试图 二、处理器默认能够接受参数类型: HttpServletRequest和HttpServletResponse对象、Model, ModelMap ...

qq_51491223的博客 637

springmvc请求返回一个字符_post请求springMVC后台,只传一个参数,后台用一个字符串接受,参数名对应,但入参却为nul...

如果在参数前面加上@requestBody 接受的就是个json串前台代码:shuoAdd() {axios.post('/shuo/add', {content: this.shuo //瞎打的内容是:法撒旦发射点}).then(function (response) {console.log(response.data)// window.history.back(-1)})}前台请求数据:{...

weixin_39728213的博客 745

springmvc请求返回一个字符_post请求springMVC后台,只传一个参数,后台用一个字符串接受,参数名对应,但入参却为null,求讲解和解决,谢谢...

如果在参数前面加上@requestBody 接受的就是个json串前台代码:shuoAdd() {axios.post('/shuo/add', {content: this.shuo //瞎打的内容是:法撒旦发射点}).then(function (response) {console.log(response.data)// window.history.back(-1)})}前台请求数据:{...

weixin_39587010的博客 280

6/20 通过注解Annoation实现SpringMVC配置、命名空间、处理方法参数、中文乱码处理、前台对象接受、resful、处理方法的返回值、视图解析器(自动加前后缀)

添加注解扫描器 (图中的second.do忘了加斜杠) 现在,后缀使用my.do first.do 都可以访问这个页面了。 当遇到多个注解的时候,如何区分?解决: 添加命名空间 然后访问的时候就需要加这上这个命名空间了 URL通配 * 代表任意(一般都用不上) 可以随便加。 限定提交方式(post/get) 限定请求参数 这样的话 没有参数 请求就会404 有参数就可...

qq_39263750的博客 299

SpringMVC 中控制器方法的可用参数类型和返回类型

SpringMVC 中控制器方法的参数列表可接受以下类型的参数, 当该方法被调用时, SpringMVC 框架可使得方法能够获得正确的参数: javax.servlet.ServletRequest 或 javax.servlet.http.HttpServletRequest; javax.servlet.ServletRequest 或 javax.servlet.http.HttpSer...

阿猫_ACat 的博客 1481

SpringMVC的初理解

1.路径的匹配 使用@RequestMapping(可以在类上或在方法上),支持模糊查询,在内部有method附带请求方式限制(有Post,get ,put delete).有GetMapping,PostMapping。2.路径的参数:在@RequestMapping使用{},使用@PathVaribale。总结:使用put与Post使用Json参数请求,而使用delete ,get 使用 param 与路径,返回值只有一个时,使用路径。1.params的参数:@RequestParam。

2301_80035407的博客 1423

springmvc接收list参数_《SpringMVC 进阶版》

请求限制一些情况下我们可能需要对请求进行限制,比如仅允许POST,GET等...RequestMapping注解中提供了多个参数用于添加请求的限制条件value 请求地址path 请求地址method 请求方法headers 请求头中必须包含指定字段params 必须包含某个请求参数consumes 接受的数据媒体类型 (与请求中的contentType匹配才处理)produce 返回的媒体类型 ...

weixin_39825872的博客 519

springMVC前后台交互

1: SpringMVC注解版前台向后台传值的两种方式controller层接受前台参数的两种方式:方式一:利用@RequestParam注解的方式 @Controller public class Login { @RequestMapping(“/login”) public String loginController(@RequestParam(“username”)

qq_773450223的博客 408

SpringMVC搭建框架

MVC就是一个分层架构模式:springMVC它是spring框架的一个分支,该springMVC框架主要完成的功能是:==接收浏览器的请求响应,对数据进行处理,然后返回页面进行显示== 可以把它理解为和Servlet干的工作是一样的。.........

m0_68648030的博客 1737
上一篇: springMVC—注解开发实例
下一篇: JVM_自动内存管理机制
YQAG
博客等级 码龄14年 112粉丝 120原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值