一、Jar包引入
pom.xml中引入dependency:
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-json-plugin</artifactId>
<version>2.3.16.3</version>
</dependency>
<dependency>
<groupId>net.sf.json-lib</groupId>
<artifactId>json-lib</artifactId>
<version>2.4</version>
<classifier>jdk15</classifier>
</dependency>
其中,json-lib中必须注明classifier为jdk15或jdk13,否则pom.xml报错。
二、struts.xml配置
<package name="store_demo" extends="json-default">
<action name="basic_store" class="action.StoreAction">
<result type="json" name="success"></result>
</action>
</package>
三、action类
自己搞
四、ExtJs页面
Ext.define('User',{
extend: 'Ext.data.Model',
fields: [{name: 'name', mapping: 'name'},
{name: 'email', mapping: 'email'},
{name: 'phone', mapping: 'phone'}]
});
var userStore = Ext.create('Ext.data.Store', {
model: 'User',
proxy: {
type: 'ajax',
url : 'basic_store.action',
reader: Ext.create('Ext.data.JsonReader',{
totalProperty: 'total',
root: 'users'
})
}
});
userStore.load();
var panelRegion = Ext.create('Ext.grid.Panel', {
region: 'center',
title: '用户信息',
store: userStore,
columns: [{
text:'姓名',
width: 100,
dataIndex: 'name'
}, {
text: '邮箱',
width: 150,
dataIndex: 'email'
}, {
text: '电话号码',
dataIndex: 'phone'
}]
});
必须定义Model,否则reader无法对json解析。