1      前端向后端传参

1.1    普通方式传参

1.1.1         页面

参数需要解析成json对象;JSON.parse(JSON.stringify(query))

$.getJSON("${serverUrl}/store/brand/getBrand", JSON.parse(JSON.stringify(query)), function(data){});

1.1.2         后端

使用普通的参数即可,不需要配置

@RequestMapping("/getBrand")

@ResponseBody

public WebResponse<Page<BrandVo>> getBrand(BrandQuery query, Pageable pageable) {

WebResponse<Page<BrandVo>> response = new WebResponse<Page<BrandVo>>();

// set storeid

query.setStoreid(1L);

response.setData(brandService.getStoreBrandByCondition(query, pageable));

return response;

}

1.2    json对象传参

1.2.1        页面

需要定义contentType: "application/json; charset=utf-8";

参数需转换成字符串;data : JSON.stringify(brandSaveInfo)

$.ajax({

url : "${serverUrl}/store/brand/addBrandDetail",

type : "POST",

datatype:"json",

contentType: "application/json; charset=utf-8",

data : JSON.stringify(brandSaveInfo),

success : function(data, stats) {

console.log("保存成功:"+stats);

},

error : function(data) {

}

});

1.2.2        后端

参数定义前需加上@RequestBody

@RequestMapping("/addBrandDetail")

@ResponseBody

public WebResponse<String> addBrandDetail(@Valid @RequestBody BrandDetailVo brandDetailVo,

BindingResult bindingResult) {

if (bindingResult.hasErrors()) {

throw new NovaIllegalArgumentException(bindingResult);

}

WebResponse<String> response = new WebResponse<String>();

// 从shiro得到uid

Long storeid = 1L;

brandService.addBrandDetail(brandDetailVo, storeid);

response.setData(NovaConstants.APPLICATION_SUCCESS);

return response;

}

1.3    简单对象、复杂对象

简单对象是指基本类型、基本类型数组、自定义对象;

复杂对象是指自定义对象数组;

复杂对象只能通过json对象传参,简单对象可以使用两种方式传参;

使用普通方式传参还是json方式传参,与get/post请求方式无关,只与参数对象的复杂程度有关(是简单对象还是复杂对象)。

1.4    日期类型参数

前端参数使用字符串

在普通方式传参方式,后台需要设置DateTimeFormat

@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")

private Date upperSaleTime;//上架时间or下架时间上限

在json对象传参,后台需要设置dateDeSerialize

@JsonDeSerialize(using=DateDeSerializer.class)

private Date saleTime; // 上架或下架时间

2      后台返回页面数据

后台返回数据有两种方式:json数据、页面数据

2.1    json数据

使用@responsebody

2.2    页面数据

返回ModelAndView

2.3    日期类型

返回json数据时,日期类型需要设置为dateSerialize

@JsonSerialize(using=DateSerializer.class)

private Date saleTime; // 上架或下架时间

转载于:https://www.cnblogs.com/annie118/p/3750955.html

springmvc前后端传值总结相关推荐

  1. vue和Java做数据交互_基于vue和springmvc前后端分离,json类接口调用介绍

    基于vue和springmvc前后端分离,json类接口调用介绍 版本要求:spring-3.2.9.RELEASE.vue-2.9.2.axios-0.17.1,其中axios作为http clie ...

  2. springMVC前后端数据交互

    springMVC前后端数据及交互部分是最重要的,因为其余部分都被封装好了,我们要做的就是这个部分,我的框架才用SSM,进公司以来在项目组也用到了这些,但是不够全面,系统,脑子里面思路混乱,所以总结下 ...

  3. 后端ModelMap和前端$.post的前后端传值

    文章目录 1.前言 2.后端向前端传参 3.前端向后端传参 1.前言 在若依不分离版本的框架开发中,刚接触时,对于传参非常无解,网上很多前后端传参的说法不够明确,使得做项目前期很难搞.因此我在此处记录 ...

  4. Ajax传值 简述方法(前后端传值)

    Ajax传值的过程 提示:我是个小白,写博客只是为了保存自己总结的东西,若有错误请指正,共同学习!!感谢!!! 文章目录 前言 一.使用前提 1. 必须要先在前端引入jQuery. 2.Ajax要写在 ...

  5. springMVC前后端各种类型数据绑定

    springmvc使用中,经常需要将用户界面的元素(参数值)传递到controller控制器中进行逻辑处理,即将前端参数值绑定到后端实例(对象)属性上,进行逻辑处理.可以称之为数据绑定. 数据绑定会涉 ...

  6. SpringMVC前后端交互

    文章目录 参数绑定 Controller层请求 springMVC参数绑定 参数绑定过程 具体步骤 SpringMVC支持的参数类型 默认参数类型 基本参数类型 自定义参数类型 返回值 Control ...

  7. thymeleaf 获取yml中的值_Thymeleaf前后端传值 页面取值与js取值

    目的: 后端通过Model传值到前端 页面通过Model取值显示 js通过Model取值作为变量使用 1.后台Controller @GetMapping("/message") ...

  8. Thymeleaf前后端传值 页面取值与js取值

    目的:    后端通过Model传值到前端    页面通过Model取值显示    js通过Model取值作为变量使用 1.后台Controller @GetMapping("/messag ...

  9. Django与jQuery通信;Django前后端传值

    window.onload=function(){var user_info={{user_info|default_if_none:0}};if(user_info==0){alert(" ...

  10. .net的web开发前后端传值系列(二)

    使用一般处理程序处理AJAX请求 前台: function SaveSKU(SkuId) {var Elements = $("." + SkuId);var CostPrice1 ...

最新文章

  1. 关于参数类型的转换问题
  2. PTA团体程序设计天梯赛-L2-003 月饼
  3. 如何优雅的在 vue 中使用 非响应式对象_一篇文章上手Vue3中新增的API
  4. JS原始类型:数值的运用技巧
  5. 【Python】局部变量和全局变量以及组合数据(列表)类型
  6. 推荐一个硬核嵌入式的原创公众号
  7. iOS当中的设计模式
  8. Mysql windows安装说明
  9. 蓝桥杯训练 2n皇后
  10. 谷歌云TPU上可以用Julia啦!0.23秒跑100张图片,Jeff Dean点赞推荐
  11. Golang网络游戏协议处理框架
  12. 计算机内存4gb是多大,手机内存多大才不卡?专家:4GB足矣
  13. 数字人轻松学习Blender系列之八:建模-1
  14. 20210412SQL实现全称量词和集合查询
  15. 基于Python排课选课系统设计与实现 开题报告
  16. DruidDataSource - abandon connection, owner thread: 错误原因
  17. Day 4 分支结构
  18. 联想E420麦克风没有声音的方案
  19. 哈工大LTP的依存分析
  20. Android 学习第10课,Android的布局

热门文章

  1. Nero Burning Rom v7.2.3.2b 简体中文版
  2. SQLServer------基本操作
  3. CSS3之firefoxsafari背景渐变之争 - [前端技术][转]
  4. memcached命令
  5. php基础:变量命名、传值、检测、类型转换、动态变量名
  6. html list列表
  7. Mysql 的 GROUP_CONCAT() 函数拼接串
  8. 第三回:羁旅客忆碌碌旧事 暴雨天里依依惜别[林大帅作品连载]
  9. Silverlight入门
  10. android TextView屏蔽复制粘贴文本选择菜单