六、Spring MVC之返回数据
前面几篇文章重点说明了一下怎么从前台传递参数到目标方法,还没有说怎么把结果返回给前台。本篇来讲述一下spring mvc怎么返回结果数据。
从使用形式上看,有以下几种方式:ModelAndView、Map、Model,这几种方式都可以返回数据到前台,本质上来看都是通过map的形式返回数据的。本系列文章着重于使用,深层次的原因,感兴趣的同志可以去调适源代码,这里只是结合使用方式,做简单的样例和分析。
1、ModelAndView的使用
/*** 方法的返回值可以是ModelAndView类型,它可以包含视图和模型信息* spring mvc会把模型信息放入到request域对象中,可以跟踪源码调试* 这个类org.springframework.web.servlet.view.AbstractView* 这个方法exposeModelAsRequestAttributes* @return*/
@RequestMapping("/testModelAndView")
public ModelAndView testModelAndView() {ModelAndView modelAndView = new ModelAndView("success");modelAndView.addObject("name", "Jack use ModelAndView");return modelAndView;
}
2、Map的使用
/*** 使用map返回数据,实际上是实例化了一个* org.springframework.validation.support.BindingAwareModelMap* @param map* @return*/
@RequestMapping("/testMap")
public String testMap(Map<String, Object> map) {System.out.println(map.getClass().getName());map.put("name", "Jack use Map");return "success";
}
3、Model的使用,本质上与map一样
/*** 使用model和使用map一样,都是实例化了一个* org.springframework.validation.support.BindingAwareModelMap* @param model* @return*/
@RequestMapping("/testModel")
public String testModel(Model model) {System.out.println(model.getClass().getName());model.addAttribute("name", "Jack use Model");return "success";
}
4、SessionAttributes的使用,可以把数据存放到session域中去,有两个属性,value和types,value执行需要放到会话中的属性的属性名,types指定需要放到会话中的属性的类型。
在类上添加注解:
@SessionAttributes(value = {"user"}, types = {String.class})
目标方法的定义
/*** 注解SessionAttribute可以通过属性名指定需要放到会话中的属性,实际上通过value属性* 还可以通过types指定哪些类型的属性需要放到会话中去* 但是该注解只能用于类上* @param map* @return*/
@RequestMapping("/testSessionAttributes")
public String testSessionAttributes(Map<String, Object> map) {User user = new User();user.setAge(15);user.setUserName("lxy");map.put("user", user);map.put("name", "jack in sessionAttribute");return "success";
}
项目源代码:
https://git.oschina.net/acesdream/spring-mvc
转载于:https://blog.51cto.com/acesdream/1907888
六、Spring MVC之返回数据相关推荐
- Spring MVC Ajax返回中文乱码
因为Spring MVC中返回json要使用@ResponseBody注解,而在Spring源码中这个注解的默认编码是"iso-8859-1",所以传中文的话会乱码.解决办法是,直 ...
- Spring MVC中返回JSON数据的几种方式
我们都知道Spring MVC 的Controller方法中默认可以返回ModeAndView 和String 类型,返回的这两种类型数据是被DispatcherServlet拿来给到视图解析器进行继 ...
- Spring MVC Formatter(数据格式化)详解
Spring MVC 框架的 Formatter<T> 与 Converter<S,T> 一样,也是一个可以将一种数据类型转换成另一种数据类型的接口.不同的是,Formatte ...
- Spring MVC(4):数据校验
Spring MVC数据校验 一般来说,准许开发中的 DRY 原则,对于Java程序中的数据校验逻辑和相应的域模型会进行绑定,将代码逻辑集中管理: Spring 在使用DataBinder 对数据进行 ...
- Spring MVC框架的数据验证
用户的输入一般是随意的,为了保证数据的合法性,数据验证是所有Web应用必须处理的问题.在Spring MVC框架中有两种方法可以验证输入数据,一种是利用Spring自带的验证框架,另一种是利用JSR ...
- jax-rs jax-ws_JAX-RS 2.x与Spring MVC:返回对象列表的XML表示
jax-rs jax-ws JSON是所有REST * API的王者,但是您仍然可能需要公开多种表示形式,包括XML. 使用JAX-RS和Spring MVC都非常简单. 实际上,唯一要做的就是用JA ...
- JAX-RS 2.x与Spring MVC:返回对象列表的XML表示
JSON是所有REST * API的王者,但是您仍然可能需要公开多种表示形式,包括XML. 使用JAX-RS和Spring MVC都非常简单. 实际上,唯一要做的就是用JAXB注释对从API调用返回的 ...
- spring mvc 接收页面数据
目录 1. 基本类型的数据封装 2. pojo(bean)类型的封装 3. 数组类型 4. list集合类型 1. 基本类型的数据封装 //http://localhost:8080/spring_m ...
- spring MVC之返回JSON数据(Spring3.0 MVC+Jackson+AJAX)
参考: http://angelbill3.iteye.com/blog/1985075 问题:在进行springmvc返回json数据的时候报如下错误:用上面的controller,访问:http: ...
最新文章
- 【若依(ruoyi)】字典管理
- MooTools教程(5):事件处理
- Spring : ConcurrentMapCacheManager
- Webpack打包构建太慢了?试试几个方法
- android 百分比loading,牛逼的loading加载效果
- python地理空间分析——构建SimpleGIS
- 现在手机屏幕为什么都这么大?
- python随机抽号_Python基础:手把手以实例教你学随机数产生和字符/ASCII码转换
- Shell脚本里的双冒号是什么意思
- 最强大的iptv m3u8 直播源手机检测工具,批量发现问题直播源
- 07 巧算指数温度--参考即可不用算
- Python实现批量自动发工资条
- 文档管理利器--云脉文档自动分类快速检索
- 牛牛的DRB迷宫II
- 用A-Spice思路解读“西门庆和潘金莲的不可描述之事”,不信你看不懂
- Ubuntu20.04+Nvidia RTX 3060 显卡驱动安装
- 华为AirEngine 5762S-11面板AP配置
- 激光测距仪传感器,基于EFM32控制器开发设计_方案
- 将idea初学者配置_初学者怪胎:如何将ISO映像刻录到光盘
- 怎么用Folx下载制作短视频所用的素材
热门文章
- c语言的返回类型是指针变量吗,C语言-指针类型
- CSS基础汇总——点击标题跳转详细博客【学习笔记】
- C++冒泡排序(包含初级、正宗及改进三种实现)
- linux 格式化 lvm2,LVM2
- bigdecimal divide四舍五入_BigDecimal 四则运算
- 快速排序实现(附原理参考资料和代码实现关键点描述)
- php foreach 单箭头,PHP Foreach循环具有单个元素
- ios逆向和java_逆向,安卓简单还是IOS简单?
- android 沙盒 ios,iOS中的沙盒机制
- java onkeydown_java笔记 js onkeypress与onkeydown 事件区别详细说明