SpringMVC 页面数据传递到后台
方式一 通过@RequestParam注解来接收
方式二 直接用同名变量来接收
方式三 通过request来接收
下面我们借用a标签来携带数据传递到后台继续测试,a标签提交的方式为GET提交。
准备一个测试jsp页面index.jsp,内容如下:
下面是分别使用三种方式接收数据的方式:
方式一 通过@RequestParam注解来接收
代码解释:通过@RequestParam来接收参数, 表示页面传递参数的名字叫msg,这里定义一个名叫str的变量来接收msg的值,这种方式,要求必须传递过来一个名叫msg的参数,没有传递这个参数的时候就会出现400错误
方式二 直接用同名变量来接收
代码解释:这里添加了一个参数msg,这个参数和页面提交的数据的名称一致为msg,不管页面是否传递msg参数,都不会报错,传递了,就接收,没有传递,就是null。
方式三 通过request来接收
方式一 通过@RequestParam注解来接收
方式二 直接用同名变量来接收
方式三 通过request来接收
下面我们借用a标签来携带数据传递到后台继续测试,a标签提交的方式为GET提交。
准备一个测试jsp页面index.jsp,内容如下:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<h3>SpringMV参数传递测试</h3>
<a href="mfc/showwithparam?msg=welcomespringmvcparam">测试带参数(@RequestParam注解来接收)</a>
<br />
<a href="mfc/showwithparam2?msg=welcomespringmvcparam">测试带参数(同名变量来接收)</a>
<br />
<a href="mfc/showwithrequest?msg=welcomespringmvcparam">测试带参数(request来接收)</a>
<br />
</body>
</html>
下面是分别使用三种方式接收数据的方式:
方式一 通过@RequestParam注解来接收
@Controller
@RequestMapping("mfc")
public class MyFirstController {
/**
* 传递参数到控制器的的一种方式(@RequestParam注解来接收)
*
* @param str
* @return
*/
@RequestMapping(value = "showwithparam")
public String showWithParam(
@RequestParam(value = "msg", required = false, defaultValue = "默认值") String str) {
System.out.println("showwithparam...");
System.out.println("接收页面传递的参数msg:" + str);
return "main";
}
}
代码解释:通过@RequestParam来接收参数, 表示页面传递参数的名字叫msg,这里定义一个名叫str的变量来接收msg的值,这种方式,要求必须传递过来一个名叫msg的参数,没有传递这个参数的时候就会出现400错误
方式二 直接用同名变量来接收
@Controller
@RequestMapping("mfc")
public class MyFirstController {
/**
* 传递参数到控制器的的二种方式(同名变量来接收)
*
* @param msg
* @return
*/
@RequestMapping(value = "showwithparam2")
public String showWithParam2(String msg) {
System.out.println("showWithParam2...");
System.out.println("接收页面传递的参数msg:" + msg);
return "main";
}
}
代码解释:这里添加了一个参数msg,这个参数和页面提交的数据的名称一致为msg,不管页面是否传递msg参数,都不会报错,传递了,就接收,没有传递,就是null。
方式三 通过request来接收
@Controller
@RequestMapping("mfc")
public class MyFirstController {
/**
* 在业务方法中,如果需要使用到内置对象,只需要在方法中,定义对应的形参,即可。
*
* @param request
* @return
*/
@RequestMapping(value = "showwithrequest")
public String showWithRequest(HttpServletRequest request) {
System.out.println("showwithrequest...");
String msg = request.getParameter("msg");
System.out.println("通过request接收的msg:" + msg);
return "show";
}
}
代码解释:通过request对象接收页面传递的数据msg。