-
//声明一个商品json对象,从表单中获取对应属性值 var product={}; product.productName=$('#product-name').val(); product.productDesc=$('#product-desc').val(); product.normalPrice=$('#normal-price').val(); product.promotionPrice=$('#promotion-price').val(); product.priority=$('#priority').val();
前端js中声明一个json对象,用以获取html中表单中的数据。
-
var formData=new FormData(); formData.append('productStr',JSON.stringify(product))
将获取的表单数据以key-value的形式存入FormData对象中,等待传送。
-
$.ajax({ url: productPostUrl, type:'POST', data:formData, contentType:false, processData:false, cache:false, success:function (data) { if(data.success){ $.toast("成功!"); }else{ $.toast("失败 "+data.errMsg); } } })
使用ajax传送数据
-
ObjectMapper mapper=new ObjectMapper(); Product product=null; //前端将json变成String传递到后端,后端通过key取出value String productStr= HttpServletRequestUtil.getString(request,"productStr"); //尝试获取前端传过来的表单String流并将其转换为Product实体类 product = mapper.readValue(productStr,Product.class);
后端通过上图所示步骤将JSON字符串转化为Product实体类。
附:
- ObjectMapper 是一个使用 Swift 语言编写的数据模型转换框架,我们可以方便的将模型对象转换为JSON,或者JSON生成相应的模型类
- Github主页 https://github.com/tristanhimmelman/ObjectMapper
-
在项目中使用到了ObjectMapper,故研究了一下。现将自己的几个测试用例和大家分享一下~
首先在pom.xml文件中,加入依赖:
<dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.8.3</version> </dependency>