日期:2014-05-16  浏览次数:20318 次

struts2 + extjs 整合
这几天在弄这个struts2 + extjs 整合的东西....苛参啊.....

不说废话了...分享一下经验....

首先就是要导入的包吧....struts2.0的包就不用说了....

因为在extjs中用的是json作为数据转换,所以先导入json的包...有:

json-lib
jakarta commons-lang 2.3
jakarta commons-beanutils 1.7.0
jakarta commons-collections 3.2
jakarta commons-logging 1.1
ezmorph 1.0.3

接着就是导入extjs....把ext-2.0文件夹直接复制过来....

主要的原理是在struts2.0的actionh中增添一个string变量叫 jsonString...

把你要输出到页面的数据传入这个string...

如下:

JSONArray array = JSONArray.fromObject(list);
      
this.setJsonString("{success:true,totalCount : " + this.getTotalCount() + ", list:" + array.toString() + "}");

接着就把action的返回在struts.xml文件中设置到一个页面...该页面用于接收json数据...如下:

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><%@ taglib prefix="s" uri="/struts-tags"%>

<s:property value="jsonString" escape="false" />

接着你js的store可以这样写...

// Store
var ds = new Ext.data.Store( {
proxy : new Ext.data.HttpProxy( {
url : 'user/ExtJSONAction!jsonExecute'
}),
//
reader : _jsonReader
});

这样就会把你的json数据传输到你的这个store里面....

其他的自己看看struts或者extjs就明白了....

这里主要介绍struts和extjs的交互的一种方式....