Title

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();
        }
    }
}

测试(这里我随便测了一个)

posted @ 2021-10-11 11:18  快乐小洋人  阅读(77)  评论(0)    收藏  举报