神仙居士

博客园 首页 联系 订阅 管理

通过JSON字符串将前台数据传递至后台,且前台数据是动态变化的,当点击提交时才将数据传递至后台:

  JSON字符串形式:var json = '{"key1":"value1","key2":"value2"}'

  在js里使用map存放动态变化的数据:

    在js中使用map:

var map = {};
function change(key,value){
	map[key] = value;
}
function submit(){
	var json = JSON.stringify(map)
	document.getElementById("form").action="<%=path%>/Controller?json="+json;
	document.getElementById("form").submit();
}

  其中,"form"为表单的id属性,change(key,value)为存放数据的响应函数。

在后台Controller里接受json:

  

String json = request.getParameter("json");
JSONObject js = new JSONObject();
js = JSONObject.fromObject(json);
Iterator it = js.keys();
//遍历所有的json内容
while(it.hasNext()){
    String key = it.next().toString();
    String value = js.getString(key);
}

  

PS:1、需要注意的是,想要使用此种方法,需要引入几个jar包:commons-beanutils-1.8.0.jar、commons-collections-3.2.1.jar、commons-lang-2.5.jar、commons-    logging-1.1.1.jar、ezmorph-1.0.6.jar、json-lib-2.4-jdk15.jar,并且要保证这几个jar包的版本一致。

  2、在WEB-INF下的lib目录下也要加入这几个jar包

posted on 2014-10-14 15:08  神仙居士  阅读(167)  评论(0编辑  收藏  举报