zoukankan      html  css  js  c++  java
  • 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对象中传递过来的参数就已经被赋值成功


  • 相关阅读:
    Eclipse 3.0.1插件方案(Java版) zt
    Vs2003使用时出现这个问题,正在郁闷中,网上找了好久,居然看到同样问题,马上拷贝来:)开心中
    Eclipse+Tomcat集成开发servletzt
    管理定律
    张小娴“禁果之味”
    上海主要特色医院一览表
    分布式网站数据库同步方案——sqlserver数据库同步复制,好文收藏之
    Eclipse 插件汇总(转载+不断更新) zt
    Eclipse零起步系列讲座 zt
    结婚这件事
  • 原文地址:https://www.cnblogs.com/vvch/p/4027586.html
Copyright © 2011-2022 走看看