`
uule
  • 浏览: 6310578 次
  • 性别: Icon_minigender_1
  • 来自: 一片神奇的土地
社区版块
存档分类
最新评论

JSON数据的接收

    博客分类:
  • JSON
阅读更多

1.总结:

java类中传出一个String字符串,经struts.xml 跳转到jsp页面,jsp页面中存放全部JSON内容(如 ${JSON}),然后前台JS获取JSON中的message

 

这种方法java 类中json为String类型 

java类中:

protected static final String JSON_MESSAGE = "json_message";
protected String json;

	public String returned(){
		try{
			List<DeliveryItem> itemList  = new ArrayList<DeliveryItem>();
			int i=0;
			for(Integer goods_id :goods_idArray){
				
				DeliveryItem item = new DeliveryItem();
				item.setGoods_id(goods_id);
				item.setName(goods_nameArray[i]);
				item.setNum(numArray[i]);  
				item.setProduct_id(product_idArray[i]);
				item.setSn(goods_snArray[i]);
				itemList.add(item);
				i++;
			}					
			delivery.setOrder_id(orderId);
			this.orderFlowManager.returned(delivery, itemList,giftitemList);
			Order order = this.orderManager.get(orderId);
			this.json="{result:1,message:'订单["+order.getSn()+"]退货成功',shipStatus:"+order.getShip_status()+"}";
		             //注意此处JSON的写法
                 }catch(RuntimeException e){
			if(logger.isDebugEnabled()){
				logger.debug(e.getStackTrace());
			this.json="{result:0,message:\"退货失败:"+e.getLocalizedMessage()+"\"}";
		}
		}
		
		return this.JSON_MESSAGE;
	}

 struts.xml中:

 <global-results> 		
			<!-- 信息提示页 -->
			<result name="message" type="dispatcher">
				<param name="location">/admin/message.jsp</param>
			</result>
			<result name="error" type="dispatcher">
				<param name="location">/admin/error_message.jsp</param>
			</result>	
			<result name="json_message" type="dispatcher">
				<param name="location">/admin/json_message.jsp</param>
			</result>	
		</global-results>

 json_message.jsp:

${json}

 注意此处该页面只能有${json},不可有其他东西

 

前台JS部分代码:

url: basePath + "ship!returned.do?ajax=yes",
                type: "post",
                dataType: "json",
                success: function(b) {
                    if (b.result == 1) {
                        alert(b.message);
                        Eop.Dialog.close("order_dialog");                       
                    }

 

 

2、农产品项目中的json例子

jsp 页面:

$("#shipping").click(function(){

	var sn = $("#sn").text();
	//alert(sn);
	$.ajax({
		url:"taoBaoStore!getOrderIdBySn.do?sn="+sn+"&ajax=yes",
		type:"POST",		
		dataType:"json",
		success:function(data){
			//alert(data);
			//alert(data.goods_amount);
			$("#orderid").val(data.order_id);
		} 	
	});
});

 java代码:

	public String getOrderIdBySn(){
		
		Order order = taoBaoStoreManager.getOrderIdBySn(sn);
		
		//JSONObject jsonObject = JSONObject.fromObject(order); 
		//this.json=jsonObject.toString();
		this.json="{result:1,order_id:"+order.getOrder_id()+"}";
		return this.JSON_MESSAGE;
	}

 JSON_MESSAGE定义在公共类WWAction.java中:

protected static final String JSON_MESSAGE = "json_message";

 

 

 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics