SpringMVC学习之路(五)——如何保存数据到域对象中

这一章我们主要来学习如何在控制器方法中保存数据到域对象之中

接下来我们将介绍几种常见的方法

一、使用ServletAPI向request域对象中保存数据

通过在控制器方法的形参位置中设置HttpServletRequest这一参数

随后在方法中就可以直接调用request对象的setAttribute()方法

@RequestMapping("/testServletAPI")
public String testServletAPI(HttpServletRequest request){
    request.setAttribute("testScope", "hello,servletAPI");
    return "success";
}

二、使用ModelAndView向request域对象保存数据

通过在方法内实例化ModelAndView对象,调用其addObject()方法保存数据

ModelAndView有Model和View两个功能

Model主要用于向请求域中保存数据

View主要用于实现页面的跳转

@RequestMapping("/testModelAndView")
public ModelAndView testModelAndView(){
    ModelAndView mav = new ModelAndView();
    //向请求域共享数据
    mav.addObject("testScope", "hello,ModelAndView");
    //设置视图,实现页面跳转
    mav.setViewName("success");
    return mav;
}

三、使用Model向request域对象中保存数据

通过在控制器方法的参数位置中设置Model这一形参

随后在方法中就可以直接调用model对象的addAttribute()方法,保存数据

@RequestMapping("/testModel")
public String testModel(Model model){
    model.addAttribute("testScope", "hello,Model");
    return "success";
}

四、使用Map向request域对象中保存数据

通过在控制器方法的参数位置中设置Map集合这一形参

随后在方法中就可以直接调用map对象的put()方法,保存数据

@RequestMapping("/testMap")
public String testMap(Map<String, Object> map){
    map.put("testScope", "hello,Map");
    return "success";
}

五、使用ModelMap向request域对象中保存数据

通过在控制器方法的参数位置中设置ModelMap这一形参

随后在方法中就可以直接调用modelMap对象的addAttribute()方法,保存数据

@RequestMapping("/testModelMap")
public String testModelMap(ModelMap modelMap){
    modelMap.addAttribute("testScope", "hello,ModelMap");
    return "success";
}

六、通过Session向session域对象中保存数据

通过在控制器方法的参数位置中设置HttpSession这一形参

随后在方法中就可以直接调用session对象的setAttribute()方法,保存数据

@RequestMapping("/testSession")
public String testSession(HttpSession session){
    session.setAttribute("testSessionScope", "hello,session");
    return "success";
}

七、向application域对象中保存数据

我们需要先在方法参数位置得到HttpSession对象,再调用它的getContext()方法得到application对象,再往application中保存数据

@RequestMapping("/testApplication")
public String testApplication(HttpSession session){
    ServletContext application = session.getServletContext();
    application.setAttribute("testApplicationScope", "hello,application");
    return "success";
}

向域对象中保存了数据以后,我们就可以在jsp页面通过${}获取数据,或者在html页面通过thymeleaf获取域对象中的数据,进而显示到页面中了

而这一部分的内容主要是javaweb知识阶段的内容,不清楚的同学可以巩固一下javaweb

今天关于SpringMVC向域对象中保存数据就介绍到这啦,若对你有帮助的话就点个赞👍吧~

关注博主,宝藏多多~

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值