SpringMvc 传递方式


/**

 * 传递参数的四种方式:

 *      1.使用Model方式(采用!!!)

 *   2.通用ModelAndView方式

 *   3.HttpServletRequest方式(不建议使用)

 *   4.通过返回值传参(不建议使用)

 * 跳转方式:  1.重定向        2.请求转发

 * @author 嗯

 */

@Controller

public class Demo{

    /*

     * 1.使用Model方式(采用!!!)

     */

    @RequestMapping("/data1")

    public String demo1(Model model){

        model.addAttribute("data","数据:李四");//设置数据到前台

        User u = new User();

        u.setUsername("张三");

        //添加模型数据,key的值为对象的类型首字母小写   ex:User-->user

        model.addAttribute(u);

        return "test.jsp";

    }

    /*

     * 2.通用ModelAndView方式

     */

    @RequestMapping("/data2")

    public ModelAndView demo2(){

        ModelAndView mav = new ModelAndView();//模型和视图对象

        mav.addObject("data","数据:张三");//设置数据到前台

        User u = new User();

        u.setUsername("李四");

        //添加模型数据,key的值为对象的类型首字母小写   ex:User-->user

        mav.addObject(u);

        //添加跳转的路径

        mav.setViewName("/test.jsp");

        return mav;

    }

    /*

     * 3.HttpServletRequest方式(不建议使用)

     */

    @RequestMapping("/data3")

    public void demo3(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException{

        request.setAttribute("data", "数据:hello");

        request.getRequestDispatcher("test.jsp").forward(request, response);

    }

    /*

     * 4.通过返回值传参(不建议使用):

     * SpringMVC会自动创建一个ModelAndView对象,并且调用添加模型 mav.addObject("user", user);

     * 并且访问路径就是视图的名称 /data4  mav.setViewName("/data4");

     * 注意:需配置视图解析器解决:ViewResolver

     */

    @RequestMapping("/data4")

    public User demo4(){

        User u = new User();

        u.setUsername("王五");

        return u;

    }

    /*

     * 请求转发(forward):

     * 上面4个案例都是转发,转发的值都是放到request请求作用域,下一个页面可以取出

     * Url地址不会改变

     */

    @RequestMapping("/data5")

    public String demo5(Model model,HttpSession session){

        model.addAttribute("data", "数据:使用model传递");//可以取出数据

        

        User u = new User();

        u.setUsername("张三");

        model.addAttribute(u);

        

        session.setAttribute("s", u);//可以取出数据

        

        //return "/test.jsp";//返回路径

        return "forward:/test.jsp";//-->相当于手动指定了跳转的路径

    }

    /*

     * 重定向(redirect):

     * 重定向就是发出一个全新的请求,

     * 如果把值放到request请求,下一个页面不能取出

     * 如果把值放到session会话请求,下一个页面可以取出

     * url地址会改变

     */

    @RequestMapping("/data6")

    public String demo6(Model model,HttpSession session){

//        model.addAttribute("data","张三");//不可以取出数据

        session.setAttribute("s", "张三session");//可以取出数据

        return "redirect:/test.jsp";

    }

}
SpringMVC配置视图解析器:
        会自动添加到返回的路径中,针对requestMapping中的路径不会添加
        SpringMVC默认:InternalResourceViewResolver : 支持默认视图,采用forward,redirect。
        视图名规则:不写前缀默认为"转发" 
                视图名字符串前缀:
              forward:/xxx.jsp ->采用转发
              redirect:/xxx.jsp  ->采用重定向
      等等。。。。。
 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
4S店客户管理小程序-毕业设计,基于微信小程序+SSM+MySql开发,源码+数据库+论文答辩+毕业论文+视频演示 社会的发展和科学技术的进步,互联网技术越来越受欢迎。手机也逐渐受到广大人民群众的喜爱,也逐渐进入了每个用户的使用。手机具有便利性,速度快,效率高,成本低等优点。 因此,构建符合自己要求的操作系统是非常有意义的。 本文从管理员、用户的功能要求出发,4S店客户管理系统中的功能模块主要是实现管理员服务端;首页、个人中心、用户管理、门店管理、车展管理、汽车品牌管理、新闻头条管理、预约试驾管理、我的收藏管理、系统管理,用户客户端:首页、车展、新闻头条、我的。门店客户端:首页、车展、新闻头条、我的经过认真细致的研究,精心准备和规划,最后测试成功,系统可以正常使用。分析功能调整与4S店客户管理系统实现的实际需求相结合,讨论了微信开发者技术与后台结合java语言和MySQL数据库开发4S店客户管理系统的使用。 关键字:4S店客户管理系统小程序 微信开发者 Java技术 MySQL数据库 软件的功能: 1、开发实现4S店客户管理系统的整个系统程序; 2、管理员服务端;首页、个人中心、用户管理、门店管理、车展管理、汽车品牌管理、新闻头条管理、预约试驾管理、我的收藏管理、系统管理等。 3、用户客户端:首页、车展、新闻头条、我的 4、门店客户端:首页、车展、新闻头条、我的等相应操作; 5、基础数据管理:实现系统基本信息的添加、修改及删除等操作,并且根据需求进行交流信息的查看及回复相应操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值