Extjs3.0 从服务器端向客户端通过JSON方式传递数据(二)

2 利用struts2 建立相应的action

package com.feidaochuanqing.actions;

 

import java.util.ArrayList;

import java.util.List;

 

 

import net.sf.json.JSONArray;

import net.sf.json.JSONObject;

 

 

import com.opensymphony.xwork2.ActionSupport;

 

public class ShowMessageAction extends ActionSupport {

 

    private static final long serialVersionUID = 1L;

   

    //用来标识从客户端的请求是不是成功

    private boolean success = false;

   

    //这个数组用来传递数据

    JSONArray arrayjson;

   

    /**

     * 测试时候用的

     * @param args

     */

   

    public static void main(String[] args) {

       new ShowMessageAction().execute();

    }

   

    List<MessageBean> messages = new ArrayList<MessageBean>();

   

    /**

     * 创建假的数据,因为从数据库得到List类型的数组很容易

     */

   

    public void initData() {

       for(int i=0;i<5;i++) {

           MessageBean m = new MessageBean();

           m.setId(i);

           m.setTitle("title" + i );

           m.setContent("content" + i);

           messages.add(m);

       }

    }

   

     /**

      * 常见Json对象数组

      */

   

    public void createJson() {

 

       arrayjson = new JSONArray();//定义一个JSONArray型的变量

      

       for (int i = 0; i < messages.size(); i++) {//list1是从数据库中获得所有对象(docbase)的集合

           JSONObject object = new JSONObject();

           MessageBean message = (MessageBean) messages.get(i);//list1中的一个对象

          

           object.put("id", new Integer(message.getId()));//把该对象的属性加到jsonobject的对象(object)中

           object.put("title", message.getTitle());

           object.put("content", message.getContent());

          

           arrayjson.add(object);

       }

    }

   

    /**

     * 通过action来访问的时候调用的方法

     */

   

    public String execute() {

       initData();

       createJson();

       success = true;

       System.out.println(arrayjson.toString());//测试语句

       return "success";

    }

   

    public JSONArray getArrayjson() {

       return arrayjson;

    }

 

    public void setArrayjson(JSONArray arrayjson) {

       this.arrayjson = arrayjson;

    }

   

    public boolean isSuccess() {

       return success;

    }

 

    public void setSuccess(boolean success) {

       this.success = success;

    }

}

 

你可能感兴趣的:(json,.net)