通过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包
时间: 2024-09-16 19:46:53