struts1.X+extjs怎么完成数据交互


我刚刚学习extjs,不知道怎样完成他和struts数据交互功能。

谢谢大家不吝赐教

项目工时紧,所以上来问问大家,赶快完成这个项目

问题补充
还要写xml,5555
问题补充
明白点了,谢谢大家

我缺分,希望楼主把分给我呀

[quote]
Ext支持三种传输的方式,
1、是数组,这个特别不好用,不推荐.
2、是个xml ,xml 麻烦,不推荐
3、是JSON格式,就只用这个,方便,更轻量

它是专门针对前台开发,与后台无关的,你后台该怎么传输还是怎么传输

至于你说的Struts1.怎么返回给页面
如下面我的代码:
[/quote]

我这是Struts2的部分代码,可以参考,传输还是用输出流 out.print();
[code="java"]
HttpServletRequest request = ServletActionContext.getRequest();
String start = request.getParameter("start");//开始
String limit = request.getParameter("limit");//结束
int begin =0;
int end = 0;
if(start==null&&limit==null){
begin=Integer.parseInt((String)request.getSession().getAttribute(start));
end = Integer.parseInt((String)request.getSession().getAttribute(limit));
}else {
begin=Integer.parseInt(start);
end=Integer.parseInt(limit);
}
List list = articelService.queryAll(begin,end);
JSONArray array1 = new JSONArray();
// 用来格式化时间
SimpleDateFormat d = new SimpleDateFormat("yyyy-MM-dd");
for (int i = 0; i < list.size(); i++) {
JSONObject object = new JSONObject();
Article model = (Article) list.get(i);
object.put("id", model.getId());
object.put("title", model.getTilte());
object.put("readycount", model.getReadycount());
object.put("createtime", d.format(model.getCreatetime()));
// if(model.getAltertime().toString()!=null){
object.put("createtime", d.format(model.getAltertime()));
// }
array1.add(object);
}
JSONObject object1 = new JSONObject();
object1.put("model", array1);

        int num = articelService.count(0);
        Integer number= num;
        String s = number.toString();
        object1.put("totalProperty", s);
        ServletActionContext.getRequest().setCharacterEncoding("UTF-8");
        ServletActionContext.getResponse().setCharacterEncoding("UTF-8");
        ServletActionContext.getResponse().getWriter().println(object1.toString());
        request.setAttribute("article", object1.toString());

[/code]

extjs用ajax方式请求,前后台数据传送用json或xml等格式都可以。

第一种方式,在struts的action中,返回值写return null,用response 的 OutStream 输出 JSON 或者XML
第二种方式,写一个XX_data.jsp页面,return 跳转到这个页面,把数据保存在request中,然后在页面中用Struts标签拼出JSON数据