Spring MVC中前后台数据传输小结
前台向后台传递参数:
- @ResponseBody
- @RequestMapping(value = "/findById/{id}", method = { RequestMethod.POST,
- RequestMethod.GET })
- public void findById(@PathVariable("id") Long id) {
- Person person=new Person();
- person.setId(id);
- }
访问地址为:项目地址+/findById/1.do
如果参数是一个对象bean:(@RequestBody注解帮助自动封装成bean,前台只需要传递格式正确的json)
- @ResponseBody
- @RequestMapping(value = "/findById", method = { RequestMethod.POST,
- RequestMethod.GET })
- public void findById(@RequestBody Person person) {
- person.setId(100);
- }
如果需要有返回值到前台:(普通bean或者list)
- @ResponseBody
- @RequestMapping(value = "/findById/{id}", method = { RequestMethod.POST,
- RequestMethod.GET })
- public Person findById(@PathVariable("id") Long id) {
- Person person=new Person();
- person.setId(id);
- return person;
- }
如果需要返回json,先进行配置,用的比较多的应该是下面两种:
- <bean id="fastJsonHttpMessageConverter"
- class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter">
- <property name="supportedMediaTypes">
- <list>
- <value>application/json;charset=UTF-8</value>
- <value>text/html;charset=UTF-8</value><!-- 避免IE出现下载JSON文件的情况 -->
- </list>
- </property>
- <property name="features">
- <array value-type="com.alibaba.fastjson.serializer.SerializerFeature">
- <value>WriteMapNullValue</value>
- <value>QuoteFieldNames</value>
- <value>DisableCircularReferenceDetect</value>
- </array>
- </property>
- </bean>
以及:
- <bean
- class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
- <property name="messageConverters">
- <list>
- <ref bean="mappingJacksonHttpMessageConverter" />
- </list>
- </property>
- </bean>
- <bean id="mappingJacksonHttpMessageConverter"
- class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
- <property name="supportedMediaTypes">
- <list>
- <value>text/html;charset=UTF-8</value>
- </list>
- </property>
- </bean>
代码示例:
- @ResponseBody
- @RequestMapping(value = "/findById/{id}", method = { RequestMethod.POST,
- RequestMethod.GET })
- public Map findById(@PathVariable("id") Long id) {
- Person person=new Person();
- person.setId(id);
- Map<String, Object> map = new HashedMap();
- map.put("total", "1");
- map.put("value", person);
- return map;
- }
附带mybatis的分页功能
maven包配置:
- <dependency>
- <groupId>com.github.pagehelper</groupId>
- <artifactId>pagehelper</artifactId>
- <version>3.7.3</version>
- </dependency>
service层分页代码示例:
- @Override
- public ResultBean findByParams(Person person,
- HttpServletRequest request) {
- int currentPage = Integer.parseInt(request.getParameter("page") == null ?"1":request.getParameter("page"));//当前页
- int pageSize = Integer.parseInt(request.getParameter("rows")== null?"10":request.getParameter("rows"));//每页条数
- Page<?> page = PageHelper.startPage(currentPage, pageSize);
- List<Person> result=personDao.findByParams(person);
- Map<String,Object> resMap = new HashMap<String,Object>();
- resMap.put("rows",result);
- resMap.put("total",page.getTotal());
- ResultBean resultBean = new ResultBean();
- resultBean.setResultObj(resMap);
- return resultBean;
- }
Spring MVC中前后台数据传输小结的更多相关文章
- 【spring mvc】后台spring mvc接收List参数报错如下:org.springframework.beans.BeanInstantiationException: Failed to instantiate [java.util.List]: Specified class is an interface
后台spring mvc接收List参数报错如下:org.springframework.beans.BeanInstantiationException: Failed to instantiate ...
- spring mvc 项目 相关配置文件小结
web.xml文件主要配置如下: 需要加载的配置文件: 类路径下,可以使用通配符配置 类似:classpath:conf/spring/*/*.xml, <context-param> ...
- Spring mvc前台后台传值
前台向后台传值: ①同名参数传递:form表单中提交input,Controller方法入参中,直接以同名参数获取 ②不同名参数传递:from表单提交input,Controller方法入参中需要使用 ...
- 【spring mvc】后台API查询接口,get请求,后台Date字段接收前台String类型的时间,报错default message [Failed to convert property value of type 'java.lang.String' to required type 'java.util.Date' for property 'createDate';
后台API查询接口,get请求,后台Date字段接收前台String类型的时间筛选条件 后台接口接收 使用的实体 而createDate字段在后台实体中是Date类型 报错信息: org.spring ...
- spring mvc从后台往前台传参数的三种方式
第一种:使用Model对象(常用) 第一步:使用model对象往前台传递数据 第二步:在jsp中接收从后台传递过来的参数 第二种:使用HttpServletRequest对象 第一步:使用HttpSe ...
- spring mvc 解决后台传递值乱码问题
在Web-xml 配置添加过滤器 <!-- 配置过滤器 解决乱码问题 --> <filter> <filter-name>CharacterEncodingFilt ...
- 【spring mvc】后台的API,测试中,总提示接口实体的某一个字段不能为null,但是明明给值了还提示不能为空
实体是这三个字段 接口的实现类Controller 前台测试给值 依旧报错 解决方法: 需要添加@RequestBody注解
- IntelliJ idea创建Spring MVC的Maven项目
参考:http://my.oschina.net/gaussik/blog/385697?fromerr=Pie9IlFV 创建Maven Web项目 菜单File->New Project可进 ...
- Spring MVC 以.html为后缀名访问获取数据,报406 Not Acceptable错误。
如题,最近以spring mvc作为后台框架,前端异步获取数据时(.html为后缀名的访问方式),报406 Not Acceptable错误.当初都不知道啥原因,前后台都没报错就是返回不了数据,于是查 ...
随机推荐
- terminal color
自己喜欢的前背景颜色1: foreground: ab8d0f yellow c4a000 default background: 23292b ...
- input编辑框编辑状态切换
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- php基础(六)Include
本文内容来自http://www.w3school.com.cn/php/php_file.asp 服务器端包含 (SSI) 用于创建可在多个页面重复使用的函数.页眉.页脚或元素. include ( ...
- jquery的跳转.禁止全url跳转.只需控制器+方法
success:function(){ window.location.href="/enterprise/show"; } success:function(){ window. ...
- luci-bwc
文件位于: ../feeds/luci/modules/admin-full/src/luci-bwc.c 功能: Very simple bandwidth collector cache fo ...
- openwrt启动过程(脚本)
来源: http://wiki.openwrt.org/doc/techref/preinit_mount#first.boot 基本的openwrt启动顺序为: 1.boot loader loa ...
- centos 7上搭建HDP2.3集群
centos 7上安装 cat /etc/redhat-release
- ubuntu下的ssh工具gstm
(转自:http://www.nenew.net/ubuntu-ssh-gstm.html) 首先安装: sudo apt-get install gstm 就可以安装,当然你也可以到http://s ...
- 设n是奇数,证明:16|(n4+4n2+11)(整除原理1.1.1)
设n是奇数,证明:16|(n4+4n2+11) 解: 令n=2k+1,k∈z n4+4n2+11 =(2k+1)4+4(2k+1)2+11 =(4k2+4k+1)2+(2k+1)2+11 =16k4+ ...
- php随意笔记
local(局部) global(全局)global 关键词用于访问函数内的全局变量.$GLOBALS[index] 的数组中存储了所有的全局变量.这个数组在函数内也可以访问,并能够用于直接更新全局变 ...