跳转前端页面和传参

   

  • @Controller
  • //@SessionAttributes(value="stu")//将数据存入session域中,可以多写(value={"stu1,stu2,stu3"})
  • @SessionAttributes(types=Student.class) //某一对象类型(types={Student.class,Address.class})
  • public class Servlet3 {                 //有SessionAttribute注解时存入Request域中同时也就存入了session域中
  • @RequestMapping("testModelAndView")
  •   public ModelAndView testModelAndView(){  //利用modelAndView  传参和跳转页面

            System.out.println("-------------test--------------");
  •         ModelAndView mv = new ModelAndView("MyJsp");//myjsp 指需要跳转的页面
            Student stu = new Student();
  •         stu.setId(3);
  •         stu.setName("lisi");
  •         mv.addObject("stu", stu);//等同于 req.setAttrivute("key,value");
            return mv;
  •     }

       

  •     @RequestMapping("testModel")
  •     public String testModel(Model model){  //利用model 传参和跳转页面

            Student stu = new Student();
  •         stu.setId(3);
  •         stu.setName("lisi");
  •         model.addAttribute("stu", stu);//等同于 req.setAttribute("key,value");
            return "MyJsp";
  •     }

       

  •     @RequestMapping("testMap")
  •     public String testMap(Map<String,Student> map){  //利用map  传参和跳转页面
            Student stu = new Student();
  •         stu.setId(3);
  •         stu.setName("lisi");
  •         map.put("stu", stu);//等同于 req.setAttribute("key,value");
            return "MyJsp";
  •     }

       

  •     //-------@ModelAttribute 适用于修改数据,访问同类下的controller都会优先调用@ModelAttribute
        //因为修改不可能传递所有的信息,所以只需拿到关键ID去数据库查询相关信息,后再传给相关Controller
  •  @ModelAttribute
  •     public void rm(Map<String, Student> map){
  •         //模拟查询到数据库的需要修改数据
  • Student stu = new Student();
  •         stu.setId(1);
  •         stu.setName("zs");
  •         map.put("Student", stu);//此处将查询到的数据传递给触发的Controller
        }

       

  •     @RequestMapping("testModelAttribute")
  • //若map.put("stu",stu),则此处应该为update(@ModelAttribute("stu")Student xxx)
  • public String update(@ModelAttribute("Student")Student stu){
  •         System.out.println(stu);
  •         stu.setName(stu.getName());
  •         System.out.println(stu);
  •         return "MyJsp";
  •     }
  •     
  •     @RequestMapping("defaults")
  •     public String defaults(){
  •         return "MyJsp";//默认转发
        }

       

  •     @RequestMapping("forwards")
  •     public String forwards(){
  •         return "forward:MyJsp.jsp";//转发
        }

       

  •     @RequestMapping("redirects")    
  •     public String redirects(){
  •         return "redirect:MyJsp.jsp";//重定向
        }

     

  • }

 

posted @ 2020-10-17 11:54  黑质白章  阅读(697)  评论(0编辑  收藏  举报