前后端数据交互

异步加载获取集合转为json页面输出

导包:

流程:由页面发送ajax异步请求后台查询数据库并返回页面进行数据填充

后台对集合的处理:

List<BaseDict> list =  baseDictService.findByTypeCode(baseDict.getDict_type_code());
JsonConfig jsonConfig = new JsonConfig();
//指定对哪些字段不进行处理(可选操作)
jsonConfig.setExcludes(new String[]{"dict_sort","dict_enable","dict_memo"});
//json转换
JSONArray jsonArray = JSONArray.fromObject(list,jsonConfig);
//返回json
ServletActionContext.getResponse().setContentType("text/html;charset=UTF-8");
ServletActionContext.getResponse().getWriter().println(jsonArray.toString());

前台发送请求并回调接收填充数据:

$(function(){
	$.post("${pageContext.request.contextPath}/baseDict_findByTypeCode.action",{"dict_type_code":"002"},function(data){
		$.each(data,function(i,n){
			$("#cust_source").append("<option value='"+n.dict_id+"'>"+n.dict_item_name+"</option>");
		});
	},"json");
});

设置JSON屏蔽某个字段的转化

对于某些字段不进行转换处理还可以在实体类中定义

	//不转换json字符串
	@JSONField(serialize=false)
	private String pwd;//登陆密码

处理fastjson循环引用问题

JSON日期格式的处理

返回的json对象属性加前缀

	/**
	 * //{"name":"管理员组","tele":"000011","uuid":1} 
	 * @param jsonString JSON数据字符串
	 * @param prefix 要加上的前缀
	 * @return  {"t.name":"管理员组","t.tele":"000011","t.uuid":1} 
	 */
	public String mapJson(String jsonString, String prefix){
		Map<String, Object> map = JSON.parseObject(jsonString);
		
		//存储key加上前缀后的值
		Map<String, Object> dataMap = new HashMap<String, Object>();
		//给每key值加上前缀
		for(String key : map.keySet()){
			if(map.get(key) instanceof Map){
				//key值进行拼接
				Map<String,Object> m2 = (Map<String,Object>)map.get(key);
				for(String key2 : m2.keySet()){
					dataMap.put(prefix + "." + key + "." + key2, m2.get(key2));
				}
			}else{
				dataMap.put(prefix + "." + key, map.get(key));
			}
		}
		return JSON.toJSONString(dataMap);
	}

后台接收json数据存储

需求:提交订单功能涉及订单表和订单明细表,前台使用EasyUI框架的table标签向后台传递多行数据(json类型的list数据)

 

保存订单业务: 

 

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值