struts2,jquery,json,ajax

struts2 和jquery实现ajax功能  传递json数据

 

首先看下我使用的jar包

这该死的jar包可是闹腾坏了

<!--StartFragment -->

该死的jar包
json里面保存的是List集合
首先编写js脚本

<script type="text/javascript" src="js/jquery-1.2.6.js"></script>
 <script type="text/javascript" src="js/json.js"></script>
 <script type="text/javascript">

//实体类赋值
 //function entity(param1,param2){
 // this.param1=param1;
 // this.param2=param2;
 //}
 //将json数据传入action
 //function test(){
 // alert(11);
 // var JSONString=JSON.stringify(new entity("111","222"));
 // alert(111);
 // $.get("getJSON.action","jsonString="+JSONString,function(data){
 //  callBackFunction(data)
 // });
 //}
 function test(){
  $.get("getJSON.action",function(data){
   callBackFunction(data)
  });
 }
 function callBackFunction(dataParam){
  var showValue="";
  var jsonArrayObject=JSON.parse(dataParam);
  for(var i=0;i<jsonArrayObject.length;i++){
   showValue+=jsonArrayObject[i].name+"--"+jsonArrayObject[i].pass;
  }
  alert(showValue);
 }
 </script>

 我这里只是弹出传过来的json数据,你可以在这里给页面的任何地方赋值
struts2的配置我就不多说了 

 下面来看看action中如何写

 private String jsonString;

 private List list = new ArrayList();
 private List<Test> testList = new ArrayList<Test>();

记得写setter 和getter方法

// 获取页面传过来的json数据
  // System.out.println("===="+jsonString);
  // JSONObject jjj=JSONObject.fromObject(jsonString);
  // System.out.println("param1"+jjj.get("param1"));
  // System.out.println("param2"+jjj.get("param2"));
  // ServletActionContext.getResponse().setContentType("text/html");
  // ServletActionContext.getResponse().setCharacterEncoding("utf-8");
  // ServletActionContext.getResponse().getWriter().print("大家好");
  // ServletActionContext.getResponse().getWriter().flush();
  // ServletActionContext.getResponse().getWriter().close();
  // 返回list中为string的json
  // list.add("撒旦发生大发");
  // list.add("点点滴滴 ");
  // list.add("生生死死");
  // list.add("万维网");
  // JSONArray jsonArray=JSONArray.fromObject(list);
  // ServletActionContext.getResponse().setContentType("text/html");
  // ServletActionContext.getResponse().setCharacterEncoding("utf-8");
  // ServletActionContext.getResponse().getWriter().print(jsonArray.toString());
  // ServletActionContext.getResponse().getWriter().flush();
  // ServletActionContext.getResponse().getWriter().close();

 

 

Test test = new Test();
  test.setName("撒地方");
  test.setPass("撒地方");
  testList.add(test);
  JSONArray jsonArray = JSONArray.fromObject(testList);
  ServletActionContext.getResponse().setContentType("text/html");
  ServletActionContext.getResponse().setCharacterEncoding("utf-8");
  ServletActionContext.getResponse().getWriter().print(
    jsonArray.toString());
  ServletActionContext.getResponse().getWriter().flush();
  ServletActionContext.getResponse().getWriter().close();

 

虽然看起来前事很麻烦,其实写起来挺简单  这只是其中一种比较简单的方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值