当前位置: 代码迷 >> JavaScript >> struts回来json数据格式
  详细解决方案

struts回来json数据格式

热度:7484   发布时间:2013-02-26 00:00:00.0
struts返回json数据格式

?????? 最近在做手机的服务器端接口,对方要求返回json的数据给他们,之前没弄过,最好请教别人加自己摸索,终于搞出来,现在写下来,给大家留作参考

????? struts.xml里配置action

????

      <action name="viewCommodityInfo" class="commodityActions" method="commodityInfo" >      <result name="success" type="json">          <param name="root">resultTree</param>         </result>      </action>

?action中的代码

1、返回list类型

	//获取商品信息	 public String viewCommodityList() throws IOException{       		List<Commodity> list = commodityService.getAllCommodity();		Map mm = new HashMap();		mm.put("commodityList", list);		 JSONObject jo= new JSONObject(mm);		                  result = jo.toString();		 getResponse().setContentType("application/json; charset=UTF-8");		 getResponse().setHeader("Cache-Control", "no-cache"); // 取消浏览器缓存                   PrintWriter out = getResponse().getWriter();		out.print(resultTree);		out.flush();		out.close();		 return null;	 }

?2、返回实体类

??

public String commodityInfo() throws JSONException, IOException{		 String uid = (String)ServletActionContext.getRequest().getParameter("uid");		 Commodity ccommodity =new Commodity();		 ccommodity.setUid(uid);		 ccommodity.setWant(null);		 commodity = commodityService.getCommodity(ccommodity).get(0);		 Map mm = new HashMap();		 JSONObject jo = new JSONObject(commodity);		 mm.put("commodity", jo);		 JSONObject jo2 = new JSONObject(mm);		 result = jo2.toString();		 getResponse().setContentType("application/json; charset=UTF-8");		 getResponse().setHeader("Cache-Control", "no-cache"); // 取消浏览器缓存                    PrintWriter out = getResponse().getWriter();		 out.print(result);		 out.flush();		 out.close();		 return null;	 }

?3、返回单个字段

?

	 public String delCommodity() throws JSONException, IOException{//		 JSONObject demoJson = new JSONObject(jsonString);	 		 String picId = (String)ServletActionContext.getRequest().getParameter("picId");		 String[] ids = picId.split(",");		 JSONObject jo = new JSONObject();		 if(ids.length>0){			 		     if(commodityService.batchdel(ids)>0){		    	 jo.accumulate("success", "true");		     }else{		    	 jo.accumulate("success", "false");		     }					 }else{			 jo.accumulate("success", "false");		 }			resultTree = jo.toString();			 getResponse().setContentType("application/json; charset=UTF-8");			 getResponse().setHeader("Cache-Control", "no-cache"); // 取消浏览器缓存	         PrintWriter out = getResponse().getWriter();			out.print(resultTree);			out.flush();			out.close();			 return null;	 }

?? 里面用到的jar,就不多说了。

  相关解决方案