js文件内容
Ext.onReady(function() {
var store = new Ext.data.Store( {
proxy : new Ext.data.HttpProxy( {
url : 'queryAllAction.action',//★连接控制器,执行查询获得数据源
method : 'GET'
}),
reader : new Ext.data.JsonReader( {
root : 'users',
id : 'id'
}, [ {
name : 'id',
mapping : 'id'
}, {
name : 'username',
mapping : 'username'
}, {
name : 'password',
mapping : 'password'
}, {
name : 'rid',
mapping : 'rid'
} ])
});
var column = new Ext.grid.ColumnModel( [ {
header : '用户编号',
dataIndex : 'id',
width : 150
}, {
header : '用户姓名',
dataIndex : 'username',
width : 150
}, {
header : '用户密码',
dataIndex : 'password',
width : 150
}, {
header : '用户角色',
dataIndex : 'rid',
width : 150
} ]);
column.defaultSortable = true;
var grid = new Ext.grid.GridPanel( {
el : 'usersDiv',//★指定数据的显示位置
width : 700,
height : 500,
title : '用户表',
store : store,//★放置表数据
cm : column,//★放置表头
trackMouseOver : false,
sm : new Ext.grid.RowSelectionModel()
});
grid.render();
store.load();
});
页面内容
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>ShowUsers</title>
<link rel="stylesheet" type="text/css" href="ext-3.2.1/resources/css/ext-all.css"/>
<script type="text/javascript" src="ext-3.2.1/adapter/ext/ext-base.js"></script>
<script type="text/javascript" src="ext-3.2.1/ext-all.js"></script>
<script type="text/javascript" src="js/showUsers.js"></script>
</head>
<body>
<div id="usersDiv" style="margin: 10px;"></div>
</body>
</html>
json.jsp 内容固定不可以有其他标记
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<s:property value="json" escape="false"/>
控制器内容
public class UsersAction implements Action {
private String json;
public String getJson() {
return json;
}
public void setJson(String json) {
this.json = json;
}
public String query(){
json=ui.query();
return SUCCESS;//跳转页面为json.jsp
}
}
业务层内容
public String query() {
List<Users> list= dao.queryAll();
Map<String,Object> map = new HashMap<String , Object>();
map.put("users", list);
return JSONObject.fromObject(map).toString();
}