spring-mvc向页面传递参数
编写测试页面
test.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>response</title>
</head>
<body>
<form action="/users1/test11" method="post">
用户名称:<input name="username"> <br/>
用户密码:<input type="password" name="password"> <br/>
用户性别:<input type="radio" name="sex" value="0" checked="checked" >男
<input type="radio" name="sex" value="1" >女 <br/>
<input type="submit" value="提交">
</form>
</body>
</html>
success.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<html>
<head>
<title>Title</title>
</head>
<body>
成功!!!
test:<br/>
${username}
<hr/>
test1:<br/>
${users}--${name}--${pwd} --${sex}
<hr/>
request:${requestScope.users}
<hr/>
session:${sessionScope.users}
</body>
</html>
编写controller
@Controller
@RequestMapping("/users1")
// @SessionAttributes("users")
public class Users1Controller {
@RequestMapping("/test1")
public String test1(Users users, Model model){
System.out.println(users);
model.addAttribute("users",users);
model.addAttribute("name","zhangsan");
return "success";
}
@RequestMapping("test2")
public String test2(Users users, Map<String,Object> map){
System.out.println(users);
map.put("users",users);
map.put("name","zhangsan");
return "success";
}
@RequestMapping("test3")
public String test3(Users users, ModelMap modelMap){
System.out.println(users);
modelMap.put("users",users);
modelMap.put("name","zhangsan");
modelMap.addAttribute("pwd","1111");
return "success";
}
@RequestMapping("test4")
public ModelAndView test4(Users users){
System.out.println(users);
ModelAndView modelAndView=new ModelAndView("success");
modelAndView.addObject("users",users);
modelAndView.addObject("sex","男");
return modelAndView;
}
@RequestMapping("test5")
public ModelAndView test5(Users users){
System.out.println(users);
//ModelAndView modelAndView=new ModelAndView("success"); // 使用有参构造进行视图的添加
ModelAndView modelAndView=new ModelAndView(); // 使用无参构造进行视图的添加
modelAndView.addObject("users",users);
modelAndView.addObject("sex","女");
//设置返回的页面
modelAndView.setViewName("success");
return modelAndView;
}
@RequestMapping("test6")
public ModelAndView test6(Users users){
System.out.println(users);
ModelAndView modelAndView=new ModelAndView("success","users",users); // 使用有参构造进行视图和参数的添加
modelAndView.addObject("sex","女");
return modelAndView;
}
// @ModelAttribute("users")
// public Users getUsers() {
// return new Users();
// }
// @RequestMapping("/test7")
// public String test7(@ModelAttribute("users") Users users) {
// System.out.println(users);
// return "success";
// }
@RequestMapping("/test8") // 简便
public String test8(Users user, ModelMap mm) {
System.out.println(user);
mm.addAttribute("user", user);
return "success";
}
// 以上都是与servletAPI解耦的方式
@RequestMapping("/test9") // 简便
public String test9(Users users, HttpServletRequest req) {
System.out.println(users);
req.setAttribute("users", users);
return "success";
}
@RequestMapping("/test10") // 简便
public String test10(Users users, HttpServletResponse resp) {
System.out.println(users);
Cookie userCookie = new Cookie("username", users.getUsername());
userCookie.setMaxAge(60);
resp.addCookie(userCookie);
return "success";
}
@RequestMapping("/test11") // 简便
public void test11(Users users, HttpServletRequest req, HttpServletResponse resp) {
System.out.println(users);
req.setAttribute("users", users); // 这种方式将不能进行参数的传递
String basePath = req.getContextPath();
System.out.println("项目的根目录:" + basePath);
try {
PrintWriter out = resp.getWriter();
out.print("<script>");
out.print("alert('你想干嘛?what are you doing?');");
out.print("location.href='" + basePath + "/success.jsp';");
out.print("</script>");
} catch (IOException e) {
e.printStackTrace();
}
}
}
测试(这里我随便测了一个)