json 新用

如果使用struts2的action,可以省去属性赋值的工夫。

但是假如你没有使用struts2,而且使用的是ajax请求,通过json来传递参数。那我下面所说的对你可能是一个很好的解脱,从此告别request.getParamter。

在传递参数前,可以通过JSON.encode将参数对象转换为字符串param,作为一个参数传递过去。在服务端,通过获取一个字符串的参数param,通过JsonObject.fromObject,将param转换为java对象。这样就不用一个一个的给javabean属性赋值,如果传递了多个参数,使用此方法可以事半功倍!如果需求变更参数增删改查毫无压力。只要json的属性和javabean的属性对应起来,参数赋值不再关心!


使用示例:

js代码:

	/*
	 * 进行数据请求
	 */
	function ajaxBusinessInfos(curPage, perNum) {
		// 参数设置
		var param = {};
		if (curPage && perNum) {
			param.curPage = curPage;
			param.perNum = perNum;
		} else {
			param.curPage = 1;
			param.perNum = 10;
		}
		param.id = $('#businessId').val();
		param.name = $('#businessName').val();
		param.recordNodeName = $('#recordNodeName').val();	
		param.nodeType = $('#businessNodeType').combobox('getValue');
		param.businessType = $('#businessType').combobox('getValue');
		param.startDate = $('#businessStartDate').datebox('getValue') ;
		param.endDate = $('#businessEndDate').datebox('getValue');

		$('#businessmaskdiv').mask({
			maskMsg : "数据加载中。。。"
		});
		paramStr = JSON.encode(param);
		var jqxhr = $.post('test.jsp',
				paramStr, function(data) { // 请求成功
					
				}).error(function(data, status) { // 请求失败
					
				}).complete(function(data, status) { // 请求完成
					$('#businessmaskdiv').mask('hide');
				});

	}
//test.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
String paramStr = request.getParameter("paramStr");
Bean b = JsonObject.fromObject(paramStr);


//b 中对应的在json对象中传递过来的参数就已经被赋值成功


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值