$.ajax({ type: "POST", dataType: "json", url: "updateStatus.action", data: "ID="+id+"&status="+status+"", success: function(data){ } });
上面是一个简单的Jquery的Ajax的例子:我们用Ajax主要是用于页面的局部刷新,当返回值是Json数据时会好操作,要返回值是Json有两种方法。
- 在Strut 的配置文件中配置返回值类型:
<package name="xjfcThirdEdition" extends="json-default"> <action name="luckStakeAction" class="com.xingkongyongheng.web.action.stake.StakeSsq" method="singleStakeSsq"> <result type="json"></result> </action> </package>
2.在action中直接返回json 的数据类型的字符串:
1.)如果是一个对象或者几个值:
HttpServletResponse response=ServletActionContext.getResponse(); response.setCharacterEncoding("UTF-8"); response.setContentType("text/plain"); PrintWriter out; String ret="{\"type\":\""+type+"\",\"msg\":"+msg+"}"; try{ out=response.getWriter(); out.print(ret); out.flush(); }catch(IOException e){ log.error(e.getMessage(),e.fillInStackTrace()); }
2.)返回一个对象的List:
String msg = JSONArray.fromObject(list).toString(); HttpServletResponse response=ServletActionContext.getResponse(); response.setCharacterEncoding("UTF-8"); response.setContentType("text/plain"); PrintWriter out; try{ out=response.getWriter(); out.print("{\"msg\":"+msg+"}");
out.flush(); }catch(IOException e){ log.error(e.getMessage(),e.fillInStackTrace()); }
这个的思路就是先把list通过Gson架包的方法转换成json字符串,返回到页面