关于JSONArray在前端js后端servlet的综合运用

脉络 : html + DOM + jquery + ajax + json + servlet + mysql

解决问题 : 从数据中读取多条数据,前台修改后,仅将修改的项提交给数据库;

其他说明 :

  1. 前端通过json发送一个array数组,数组的元素是item对象;
  2. 后端通过servlet中jsonarrayl.getJSONObject(i)实现获取元素;
  3. 注;部分代码可以忽略,该运用场景是:将前端有改动的数据,发送给后端,重写数据库
  4. 针对前端改动元素(对象)的属性的获取,用了DOM相关知识点;

涉及的面有点多,这次侧重从jsonarray方面的实现来记录:

一. 前台html部分

	<!-- 这是一个动态插入表单元素的表格 -->
	<div>
		<table>
			thead><tr><td colspan="6">编辑产品</td></tr></thead>
			<tbody id="tbAdd"></tbody>
			<tfoot><tr><td colspan="6"><input type="button" id="submit" value="提 交"></td></tr></tfoot>
		</table>
	</div>

二. js部分

function uploadSubmit() {
	$("#submit").click(function() {
		var arr = new Array(); // 用于装入元素对象item
		
		var label = $("#tbAdd span").find("input[testChange='true']"); 		
			$.each(label, function(i) { // 遍历
				var item = new Object();
					item.pvValue = label[i].value; 
					item.pvid = label[i].getAttribute("pvid"); ; 
					arr.push(item); // 装入
			});

	var urls = "../admin_product_updatePropertyValue";
	$.post(urls, {"data" : JSON.stringify(arr)}, function() {
		// ....
		alert("提交成功!");
	})
})
}

三. servlet部分

	public String updatePropertyValue(HttpServletRequest request, HttpServletResponse response, Page page) {

		String data = request.getParameter("data"); 
		JSONArray jsonArray = JSONArray.fromObject(data);

		// 遍历,写回数据库;
		for (int i = 0; i < jsonArray.size(); i++) {
			JSONObject json = jsonArray.getJSONObject(i); 
			PropertyValue bean = propertyValueDAO.get(json.getInt("pvid")); 
			bean.setValue(json.getString("pvValue")); 
			propertyValueDAO.update(bean);
		}
		return "stop"; // 不做跳转
	}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值