zoukankan      html  css  js  c++  java
  • SpringMVC3——处理模型数据

    处理模型数据
    如果跳转时需要带数据:M,V可以使用以下方式:
    1.ModelAndView、ModelMap、Map、Model(数据放在request作用域);
    //ModelAndView
    @RequestMapping(value = "testModelAndView")
    public ModelAndView testModelAndView(){ //既有数据又有视图
        ModelAndView mv=new ModelAndView("success");//view,/views/success.jsp
        Student student = new Student();
        student.setId(1);
        student.setName("zs");
        mv.addObject("student",student);//相当于request.setAtttribute
        return mv;
    }
    ${requestScope.student.id}-${requestScope.student.name}<br/>
     
     
    //ModelMap
    @RequestMapping(value = "testModelMap")
    public String testModelMap(ModelMap map){ //既有数据又有视图
        Student student = new Student();
        student.setId(1);
        student.setName("zs");
        map.put("student1",student);//request域
        return "success";//view
    }
    

      

    如何将数据放入session域中:
    @SessionAttributes("student3,student")//如果要在request作用域中存放student4对象,则同时将该对象放入session作用域
    @SessionAttributes(types = Student.class)//如果要在request作用域中存放student类型的对象,则同时将该类型的对象放入session作用域
    
    2.@SeessionAttributes、@ModelAttribute。
    @ModelAttribute:经常在更新时用。
    通过@ModelAttribute修饰的方法,会在每次请求前先执行,需要注意。
    //查询
    @ModelAttribute //在任何请求前,都先执行@ModelAttribute修饰的方法
    public void queryStudentById(Map<String,Object> map){
       //模拟调用三层查询数据库的操作
        Student student = new Student();
        student.setId(3);
        student.setName("zs");
        student.setAge(23);
        //map.put("student",student);//map的key就是与方法(testModelAttribute)参数类型的首字母的小写后一致
        map.put("stu",student);
    }
    
    //修改,ModelAttribute
    @RequestMapping(value = "testModelAttribute")
    public String testModelAttribute(@ModelAttribute("stu") Student student){ 
        student.setName(student.getName());//将名字修改为ls
        System.out.println(student.getId()+","+student.getName()+","+student.getAge());
        return "success";
    }
    

      

     
     
  • 相关阅读:
    让div 充满整个body GIS
    fortuneclient 学习 (客户端接受数据) GIS
    错误 1 error C1083: 无法打开包括文件:“QNetworkProxy”: No such file or directory GIS
    qt fortuneserver 例子学习 ( 给客户端发送消息) GIS
    new操作符(new operator) 和 new操作(operator new)的区别。 GIS
    qt 控件 GIS
    c++ 顺序容器 GIS
    将一个div 分成两列 也可以分成多列 GIS
    控件模板 1
    WPF简单写写。。。
  • 原文地址:https://www.cnblogs.com/ghlz/p/13510702.html
Copyright © 2011-2022 走看看