1.引入struts2核心jar包,与jsonplugin-0.32.jar
2.配置struts.xml文件
- <constant name="struts.i18n.encoding" value="utf-8"/>
- <package name="example" namespace="/" extends="json-default">
- <action name="gridUtil" class="com.bict.GridUtil" method="grid">
- <result type="json" /> <!--将bean属性以json字符串返回浏览器-->
- </action>
- <action name="gridAction" class="com.bict.util.ClientModel" method="getJSONPage">
- <result name="success">/json_grid.jsp</result>
- </action>
- </package>
配置struts.i18n.encoding常量,不再使用GBK编码,而是UTF-8编码,这是回为AJAX的POST请求都是以UTF-8的方式进行编码的。
3.后台部分User.java
- package com.bict;
- import java.util.List;
- public class User {
- private int id;
- private String name;
- private String age;
- private String descn;
- public int getId() {
- return id;
- }
- public void setId(int id) {
- this.id = id;
- }
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- public String getAge() {
- return age;
- }
- public void setAge(String age) {
- this.age = age;
- }
- public String getDescn() {
- return descn;
- }
- public void setDescn(String descn) {
- this.descn = descn;
- }
- }
定义了一个User对象,当作数据载体
4.gridUtil.java
- package com.bict;
- import java.util.ArrayList;
- import java.util.List;
- import com.bict.User;
- import com.opensymphony.xwork2.ActionSupport;
- public class GridUtil extends ActionSupport {
- private int totalProperty = 100;
- private List root;
- public List getRoot() {
- return root;
- }
- public void setRoot(List root) {
- this.root = root;
- }
- public int getTotalProperty() {
- return totalProperty;
- }
- public void setTotalProperty(int totalProperty) {
- this.totalProperty = totalProperty;
- }
- public String grid() {
- root = new ArrayList<User>();
- User user1 = new User();
- user1.setAge("20");
- user1.setDescn("descn1");
- user1.setId(1);
- user1.setName("name1");
- root.add(user1);
- User user2 = new User();
- user2.setAge("19");
- user2.setDescn("descn2");
- user2.setId(2);
- user2.setName("name2");
- root.add(user2);
- return SUCCESS;
- }
- }
定义了一个Action用于进行数据转化与返回。可以在这里进行与数据库交互,totalProperty是总记录数,root是所有数据库取出的值,它是一个List集合。
5.json_grid.jsp,引入Ext-3.2.1相关配置
- <link href="ext-3.2.1/resources/css/ext-all.css" rel="stylesheet" type="text/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="ext-3.2.1/src/locale/ext-lang-zh_CN.js"></script>
- <script type="text/javascript" src="js/json_grid.js"></script>
- <body>
- <div id="grid"></div>
- </body>
6.json_grid.js
- Ext.onReady(function(){
- var ds = new Ext.data.Store({
- proxy: new Ext.data.HttpProxy({
- url:'gridUtil.action'
- }),
- reader: new Ext.data.JsonReader({
- totalProperty: 'totalProperty',
- root: 'root'
- }, [
- {name: 'id'},
- {name: 'name'},
- {name: 'descn'}
- ])
- });
- ds.load({params:{start:0,limit:10}});
- var sm = new Ext.grid.CheckboxSelectionModel();
- var cm = new Ext.grid.ColumnModel([
- new Ext.grid.RowNumberer(),
- sm,
- {header:'编号',dataIndex:'id'},
- {header:'名称',dataIndex:'name'},
- {header:'年龄',dataIndex:'age'},
- {header:'描述',dataIndex:'descn'}
- ]);
- cm.defaultSortable = true;
- var ds = new Ext.data.Store({
- proxy: new Ext.data.HttpProxy({url:'gridUtil.action'}),
- reader: new Ext.data.JsonReader({
- totalProperty: 'totalProperty',
- root: 'root'
- }, [
- {name: 'id'},
- {name: 'name'},
- {name: 'descn'},{name:'age'}
- ])
- });
- ds.load({params:{start:0,limit:10}});
- var grid = new Ext.grid.GridPanel({
- el: 'grid',
- ds: ds,
- cm: cm,
- sm: sm,
- title: 'struts2->JSON',
- //height:400,
- autoHeight: true,
- bbar: new Ext.PagingToolbar({
- pageSize: 10,
- store: ds,
- displayInfo: true,
- displayMsg: '显示第 {0} 条到 {1} 条记录,一共 {2} 条',
- emptyMsg: "没有记录"
- })
- });
- grid.render();
- })
相关推荐
2、ext4,这个项目是用来做ext的公共js库用的,这样不比没个项目都添加ext的js文件,方便开发。 切记将ext4项目部署上去,并且应用名称为ext4,否则访问fes项目是会找不到ext的js文件。 jxcia.sql是数据库脚本,...
在本例中,我们将探讨EXT JS Tree与JSON数据的结合使用,以及如何在不依赖EXT包的情况下实现这些功能。 "ext tree json 例子(不含EXT包)"这个标题暗示我们将讨论如何在不直接引用EXT完整包的情况下,仅使用EXT JS...
在EXT JS这个强大的JavaScript库中,树形组件(Tree)是一种常见的UI元素,常用于展现层级结构的数据。本文将深入探讨如何处理无限级JSON数据格式并实现动态加载,以优化EXT树的性能。 首先,我们要理解EXT树的基本...
4. 后端返回JSON数据到前端,EXT Grid解析JSON,渲染新的数据行,并更新分页状态。 5. 这样,用户就能看到动态加载的分页数据,而无需手动刷新整个页面。 标签"Ajax"强调了这种异步数据交互的方式。Ajax技术的核心...
4. **Ajax请求和数据解析**:利用`Ext.Ajax.request`发送异步请求,获取JSON数据后,使用`Ext.decode`将JSON字符串解析为JavaScript对象。 5. **树节点的渲染和交互**:配置`uiProviders`和`renderer`函数,自定义...
此外,页面还会直接输出一个名为`ja`的变量,这个变量将在后端代码中填充JSON数据。 ```jsp ;charset=utf-8" %> ${ja} ``` #### 五、locationAction类代码详解 接下来是整个流程的核心部分——`locationAction`类...
在Web应用开发中,数据的存储与传输是核心环节,尤其在富客户端(Rich Internet Application, RIA)开发中,JavaScript库Ext JS提供了强大的数据管理功能。本文将围绕Ext JS的数据存储与传输展开详细讲解。 首先,...
JSON(JavaScript Object Notation)则是一种轻量级的数据交换格式,它允许在服务器端和客户端之间进行高效的数据传输。Struts 是一个开源的 Java Web 框架,用于构建 MVC(Model-View-Controller)架构的应用程序。...
EXT+json+jquery培训资料是针对前端开发技术的培训材料,涵盖了EXT库的使用、JSON数据格式以及jQuery框架。EXT是一个强大的JavaScript库,主要用于构建富客户端应用程序,它提供了丰富的组件和用户界面元素。jQuery...
综上所述,“读Ext之十(解析JSON)”可能会涵盖如何在Ext JS环境中设置和使用Store来解析和操作JSON数据,以及如何利用数据模型、Proxy、Reader等工具实现数据的加载、显示和交互。通过学习这个主题,开发者可以更...
在IT领域,这个标题涉及到的是一个使用EXT JS(一种基于JavaScript的富客户端框架)和JSON(JavaScript Object Notation)数据格式,结合SQL Server数据库实现分页功能的示例。EXT JS允许开发者创建复杂的、交互式的...
JSON的结构与JavaScript对象相似,使得在EXT中处理JSON数据非常方便。例如,你可以使用`Ext.util.JSON.decode()`方法将JSON字符串转换为JavaScript对象,然后将其加载到EXT的数据存储(如`Ext.data.Store`)中。 ...
综上所述,这个项目展示了如何利用SSH框架搭建后端服务,EXT JS 3.0提供用户界面,JSON作为数据交换格式,以及DWR实现无刷新通信,共同构建一个动态的、交互式的树形展示。这样的组合既提高了用户体验,又降低了...
在本文中,我们将深入探讨如何使用Ext JS的Tree Panel与JSON数据进行动态加载,并实现多选和单选功能。Ext JS是一种强大的JavaScript库,用于构建富客户端应用,而Tree Panel则是展示层次结构数据的一种组件。在后台...
通常这样的文章会详细介绍如何实现这个过程,包括前端EXTJS的Ajax请求、JSON数据的构建,以及Java后台如何处理请求并返回集合数据。 在标签中,“源码”可能暗示我们需要关注代码实现的细节,“工具”可能是指用于...
在本文中,我们将深入探讨`Ext.tree.TreeLoader`与JSON数据在Ext JS框架中的应用。`Ext.tree.TreeLoader`是Ext JS库中的一个组件,它负责加载和解析树形结构的数据,而JSON(JavaScript Object Notation)则是一种轻...
在给定的标题“使用html标签、jQuery-EasyUI和Ext4分别展示json数据”中,我们可以深入探讨如何利用这些技术来处理和显示JSON(JavaScript Object Notation)数据。JSON是一种轻量级的数据交换格式,广泛应用于...
3. **EXT**:EXT(通常指EXT JS)是一个JavaScript库,专注于构建富客户端的Web应用程序。EXT提供了一系列可重用的组件,如表格、表单、面板等,用于创建复杂的用户界面。在CRUD操作中,EXT负责前端的数据展示和用户...
Struts2可以通过插件轻松地将Action结果转换为JSON格式,EXTJS的组件则可以直接解析这些JSON数据,实时更新视图,实现异步数据交互。 在"SSJExt"这个实例中,Struts2负责处理HTTP请求,Spring2.5管理依赖并提供业务...
EXT JS(现在的Sencha EXT JS)特别适合构建数据驱动的应用,它有强大的表格、表单和图表组件,能与后端服务进行无缝的数据交换。在本示例中,EXT将用于展示和编辑由Struts2处理的数据。 JSON(JavaScript Object ...