SpringMVC后台传递参数到页面
控制器中的参数传递到页面,常见的有两种方式:
方式一: 通过Model来传参(model对象来传递)
-
@Controller
-
@RequestMapping(
“mfc”)
-
public
class FirstController {
-
@RequestMapping(value=
“fr”)
-
public String secondRequest(Model model){
-
String key =
“hello world”;
-
model.addAttribute(
“key”, key);
-
//此时没有定义变量的名字,默认就用这个参数的类型的名字做为变量的名字,不过首字母大写变小写
-
model.addAttribute(
“xxxxxxx”);
-
return
“show”;
-
}
-
}
model中有两个方法可以使用:model.addAttribute(object)和model.addAttribute(“名字”,object)。
传递后,在页面上通过EL表达式来获取,show页面代码如下:
-
<%@ 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>
-
<h2>这里是show.jsp页面
</h2>
-
通过model传递到页面的参数key:
KaTeX parse error: Expected 'EOF', got '&' at position 30: …ass="hljs-tag">&̲lt;<span class=…{string }
<br/>
-
</body>
-
</html>
方式二: 通过内置对象来传递
除了model传递参数以外,我们还可以通过request,session来传递,代码如下:
-
@Controller
-
@RequestMapping(
“mfc”)
-
public
class FirstController {
-
-
@RequestMapping(value=
“fr”)
-
public String secondRequest(HttpServletRequest request,HttpSession session){
-
request.setAttribute(
“req”,
“通过request存放的参数”);
-
session.setAttribute(
“ses”,
“session中的数据”);
-
return
“show”;
-
}
-
}
页面上,还是通过EL表达式来获取,show页面内容如下:
-
<%@ 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>
-
<h2>这里是show.jsp页面
</h2>
-
获取request中的参数:${req }
<br/>
-
获取session中的参数:${ses }
-
</body>
-
</html>