- 浏览: 824897 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (488)
- struts1 (4)
- spring (13)
- extjs (36)
- mysql (3)
- sqlserver (2)
- oracle (37)
- 杂谈 (11)
- 面试相关 (35)
- Java基础知识总结 (5)
- Java重要知识点 线程和io流知识点 (6)
- 服务器相关 (1)
- 生活 (1)
- jsp (7)
- servlet (2)
- junit (3)
- struts2 (9)
- 开发必备 (4)
- 使用开发工具总结的知识 (4)
- ibatis (12)
- ajax (2)
- dwr (2)
- jquery (1)
- 设计模式 (4)
- Lucene的学习 (5)
- 经验总结 (19)
- mysql全文搜索相关 (7)
- hibernate (33)
- Sphinx (1)
- log4j的总结 (1)
- 敏捷开发 (9)
- 持续集成 (15)
- UML使用总结 (1)
- Scrum (1)
- OO(面向对象编程) (1)
- struts1和struts2总结 (1)
- 数据库加密 (1)
- 多线程和Socket编程 (6)
- PowerDesigner (2)
- 权限相关 (1)
- ant应用总结 (4)
- 面试必知知识点总结 (6)
- io流与nio流总结 面试相关 (1)
- 敏捷管理工具的使用 (7)
- hsqldb相关 (1)
- svn源码相关 (2)
- debug调试技巧总结 (1)
- hibernate和ibatis对比相关 (6)
- eclipse mylyn 插件的使用总结 (2)
- fisheye使用总结 (2)
- java泛型总结 (1)
- ssh整合总结 (10)
- SpringSide的学习总结 (1)
- JPA学习总结 (2)
- RoR 总结 (2)
- 模型驱动 总结 (1)
- Oracle SQL优化技巧 (4)
- 数据库相关资料 (1)
- oracle练习相关 (4)
- PowerDesigner 使用总结 (2)
- Struts实现国际化相关 (2)
- 权限框架 Spring Security (1)
- freemarker使用总结 (1)
- jsp servlet总结相关 (3)
- Java NIO总结 (1)
- 自己学习必须 (3)
- 蝴蝶容器相关 (2)
- eclipse插件的使用 (1)
- myeclipse的使用 (1)
- flex相关 (1)
- javaeye重生后总结的知识点 (2)
- 公司学习总结 (3)
- JAXB 相关 (1)
- ECSide (1)
- EdoJs 企业ajax框架 (1)
- RSA加密算法 (1)
- jbpm相关 (1)
- JMF原理 (1)
- MyEclipse使用总结 (1)
- Funsion Charts 相关总结 (3)
- 常用知识2011 (2)
- Flex与Java整合 (1)
- IBM WebSphere相关 (1)
- jQuery使用技巧 (2)
- 2011年面试相关知识点总结 (2)
- sqlserver开发相关 (8)
- eclipse 打jar相关 (2)
- Oracle/Mysql/SqlServer比较 (1)
- WebService Axis1.4开发相关 (4)
- 进制数的转换 总结 (1)
- WebService Axis2.0开发相关 (0)
- iteye Struts2 Spring Hibernate整合相关 (3)
- iteye osgi资料相关总结 (1)
- iteye ifos相关相关 (1)
- iteye 国际化相关 (1)
- iteye Hibernate缓存机制 (4)
- iteye Struts2 总结 (1)
- iteye Struts标签总结 (0)
- iteye web配置文件大全 (6)
- iteye Efs 框架总结 (1)
- iteye sql优化 (2)
- iteye 大数据量高并发的数据库优化 (1)
- iteye 开发相关 (1)
- iteye s1sh 和 s2sh整合中的问题以及解决 (1)
- iteye s1sh整合实例 (1)
- iteye s2sh整合实例 (1)
- iteye 面试相关 基础篇 (1)
- iteye Android相关 (1)
- iteye 面试相关 Web篇 (1)
- iteye Sql Server相关 (0)
- iteye struts1与struts2比较 (1)
- iteye jquery 和Struts2 (0)
- iteye struts2与其他插件整合 (0)
- iteye jquery 开发相关 (1)
- iteye eclipse结合spket(Ext,Jquery)开发相关 (0)
- iteye myeclipse 使用技巧相关 (0)
- iteye Memcached 缓存系统相关 (0)
- iteye 常用软件相关 (0)
- iteye 最新技术预览 AjaxSwing (0)
- iteye struts上传下载相关 (0)
- iteye 新技术相关 (0)
- test (0)
- iteye 开发Java游戏相关 (0)
- iteye Java反编译 (0)
- iteye XML解析相关 (0)
- iteye 压缩ZIP相关 (0)
- iteye 面试相关 (0)
- iteye Android开发相关 (4)
- csdn (0)
- e-inoc (0)
- iteye http错误码对应说明 (0)
- iteye 面试扩展知识点 (0)
- iteye oracle面试相关 存储过程,触发器,游标等 (0)
- iteye english study (0)
- iteye starflow工作流引擎 (0)
- iteye IBM WebSphere Application Server Toolkit使用相关 (0)
- iteye spring3 (0)
- iteye mybatis (0)
- iteye js技巧总结 (0)
- iteye SEO优化相关 (2)
- iteye QUI网页界面集成框架 (1)
- iteye AjaxAnywhere (1)
- iteye Nutz相关 (1)
- iteye ibatis技巧 (0)
- iteye dwz (0)
- 128个ajax/javascript框架 (0)
- iteye 2012 Java Swing教程 (1)
- iteye 码头集装箱相关 (1)
- iteye swing (2)
- 兼职工作 (0)
- 2012 新总结的面试相关知识点 常用知识点 (1)
- 淘宝网店相关 (0)
- oracle 常用函数 2012新总结 (1)
- 我的时尚潮流屋 (0)
- 2012 年 面试新总结知识 (1)
- 技巧 (1)
- 2013总结 (1)
- 2015工作相关 (3)
- springmvc (5)
- EasyPR-Java (1)
- java (2)
- editplus 4.0 注册码 (1)
- android (1)
- oracle连接数据库相关 (1)
- 编程资料总结 (2)
- 20160808 (1)
- visio 2013 (1)
最新评论
-
drew926:
泛型的类型参数可以有多个?这是java哪个版本支持的?
java泛型总结 -
listenan:
赞!非常感谢。
Scrum总结 -
cwscwj:
写的很深刻,谢谢,看了一遍,过段时间打算再看一遍。
Scrum总结 -
hwedwin:
w
Struts 2中的OGNL\EL的使用总结 -
lanni2460:
不错 很好 支持……
sqlserver三个驱动包下载
ExtJs + Struts2 + JSON 程序总结
最近一直都在看EXTJS的东西,然后自己实践了下,界面倒是蛮漂亮的,但是一旦涉及到与服务器端进行数据互动麻烦就出来了,本来下了个例子确发现是用DWR的,觉得我既然用了STRUTS2作为MVC的框架,我觉得这个框架还是很不错的,觉得还是把EXTJS整合到一起更好些,找了相关的资料,跟着前辈做了下例子,发现完全不是那么回事,只好自己慢慢摸索,终于把数据交互的问题解决了,所以记录之以便查阅!
还是从底层开始说吧,拿最经典的例子来解说吧,订单和客户的关系显然是n:1的关系,我hibernate不是用的声明方式所以就用的xml方式做的那么相应的hbm.xml文件如下:
相应的MODEL的JAVA我就不写了,只是做个例子而已,呵呵!相应的DAO SERVICE 我都不写了,这个不是我讨论的范围,那么我想在页面上显示所有的信息,那么在OrderAction中我定义了一个getAllOrder的方法,然后通过struts2配置action让EXTJS与服务器数据进行数据交互。因为EXTJS是支持JSON数据格式的,所以我用了JSON- LIB(json-lib-2.2.1-jdk15.jar)这个东东,它还依赖另外的3个包:commons-beanutils- 1.7.1-20061106.jar,commons-collections-3.2.1.jar,ezmorph-1.0.4.jar。好了万事俱备只欠东风了,我的getAllOrder方法如下:
好的,看到jsondata.jsp了么,这里就是要放数据的地方,看看是什么吧!
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<s:property value="jsonString" escape="false" />
是的,就是这么简单的一个代码!终于要到前台了,该露脸了,呵呵,前台代码最关键的也就是JS代码,那么我也就只贴JS了相信大家看过后都会自己弄清楚的!
最近一直都在看EXTJS的东西,然后自己实践了下,界面倒是蛮漂亮的,但是一旦涉及到与服务器端进行数据互动麻烦就出来了,本来下了个例子确发现是用DWR的,觉得我既然用了STRUTS2作为MVC的框架,我觉得这个框架还是很不错的,觉得还是把EXTJS整合到一起更好些,找了相关的资料,跟着前辈做了下例子,发现完全不是那么回事,只好自己慢慢摸索,终于把数据交互的问题解决了,所以记录之以便查阅!
还是从底层开始说吧,拿最经典的例子来解说吧,订单和客户的关系显然是n:1的关系,我hibernate不是用的声明方式所以就用的xml方式做的那么相应的hbm.xml文件如下:
ORDER.XML <?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping> <class name="com.model.Order" table="t_order" lazy="false"> <id name="orderId" column="OrderId"> <generator class="uuid.hex" /> </id> <property name="name" column="Name" type="string" /> <property name="desn" column="Desn" type="string"/> <property name="booktime" column="Booktime" type="string"/> <property name="company" column="Company" /> <many-to-one lazy="false" name="custom" column="CustomId" class="com.model.Customer" /> </class> </hibernate-mapping> CUSTOM.XML <?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping> <class name="com.model.Custom" table="t_custom" lazy="false"> <id name="customId" column="Id"> <generator class="uuid.hex" /> </id> <property name="customName" column="Name" type="string" /> </class> </hibernate-mapping>
相应的MODEL的JAVA我就不写了,只是做个例子而已,呵呵!相应的DAO SERVICE 我都不写了,这个不是我讨论的范围,那么我想在页面上显示所有的信息,那么在OrderAction中我定义了一个getAllOrder的方法,然后通过struts2配置action让EXTJS与服务器数据进行数据交互。因为EXTJS是支持JSON数据格式的,所以我用了JSON- LIB(json-lib-2.2.1-jdk15.jar)这个东东,它还依赖另外的3个包:commons-beanutils- 1.7.1-20061106.jar,commons-collections-3.2.1.jar,ezmorph-1.0.4.jar。好了万事俱备只欠东风了,我的getAllOrder方法如下:
import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; import net.sf.json.*; //具体的那些serivce的包引入我就省略了 public class OrderAction extends ActionSupport { private static final long serialVersionUID = -5092865658281004791L; private IOrderSerivce orderSerivce; private String jsonString;//这个就是中转站了 private List<Order> orderList;//这个是数据链表 private int totalCount;//这个是extjs用来分页 public String getJsonString() { return jsonString; } public void setJsonString(String jsonString) { this.jsonString = jsonString; } public int getTotalCount() { return totalCount; } public void setTotalCount(int totalCount) { this.totalCount = totalCount; } public List<Air> getOrderList() { return orderList; } public void setOrderList(List<Order> orderList) { this.orderList = orderList; } public void setOrderSerivce(OrderSerivce orderSerivce) { this.orderSerivce = orderSerivce; } public String getAllAir() { orderList = orderSerivce.getOrderAll(); this.setTotalCount(orderList.size()); JSONArray array = JSONArray.fromObject(orderList); //哈哈,就是在这里进行转换的 this.jsonString = "{totalCount:"+this.getTotalCount()+",results:"+array.toString()+"}"; return SUCCESS; } } 接下来再是什么,哦,是的,应该是STRUTS的配置了,哈哈 <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <package name="order" extends="struts-default"> <action name="getAllOrder" class="orderAction" method="getAllOrder"> <result name="success" >jsondata.jsp</result> </action> </package> </struts>
好的,看到jsondata.jsp了么,这里就是要放数据的地方,看看是什么吧!
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %>
<s:property value="jsonString" escape="false" />
是的,就是这么简单的一个代码!终于要到前台了,该露脸了,呵呵,前台代码最关键的也就是JS代码,那么我也就只贴JS了相信大家看过后都会自己弄清楚的!
Ext.onReady(function(){ Ext.BLANK_IMAGE_URL = 'ext/resources/images/default/s.gif'; Ext.QuickTips.init(); var xg = Ext.grid; //这里就是设置解析格式的地方,一定要和你的Model一样,要不然可是什么都得不到哦~~~~ var rd = new Ext.data.JsonReader({ //总记录数 totalProperty: 'totalCount', //哪儿是数据的头,可以看action里面是怎么定义数据格式的,这里就是如何解析的 root: 'results', //有那些字段呢? fields:[ {name:'orderId'}, {name:'desn'}, {name:'booktime'}, {name:'company'}, {name:'name'}, //这里就是对custom对象进行映射的地方 {name:'customId' ,mapping:'custom.customId'}, {name:'customName',mapping:'custom.customName'} ] }); var ds = new Ext.data.Store({ proxy: new Ext.data.HttpProxy ({url: 'getAllOrder.action',method:'POST'}),//Url很关键,我就是因为没配好这个,POST方法很重要,你可以省略,让你看下错误也行的!耽误了一大堆时间! reader:rd }); ds.load(); var sm =new xg.CheckboxSelectionModel(); //CheckBox选择列 var cm =new xg.ColumnModel([ new Ext.grid.RowNumberer(), //行号列 sm, {id:'orderId',header: "订单号", dataIndex: 'name'}, {header: "订单时间", dataIndex: 'booktime'}, {header: "订单公司", dataIndex: 'company'}, {header:"客户姓名",dataIndex:'customName'} ]); cm.defaultSortable = true; // OrderGrid var ordergrid = new xg.GridPanel({ ds: ds, sm: sm, cm: cm, width:1000, height:500, frame:true, title:'Framed with Checkbox Selection and Horizontal Scrolling', iconCls:'icon-grid', renderTo: document.body }); ordergrid.render(); });
发表评论
-
MVC模式的好处
2010-09-07 20:52 3348MVC模式的好处 MVC是三个单词的缩写,分别为: 模型( ... -
开启mysql远程功能方法
2010-09-04 14:06 863开启mysql远程功能方法 进入mysql,创建一个新用户xu ... -
解决phpmyadmin 1800秒超时链接失效问题
2010-08-28 17:54 1644解决phpmyadmin 1800秒超时链接失效问题 如果要 ... -
mysql不允许远程用户访问主机服务器 1130
2010-08-28 17:33 4074mysql不允许远程用户访问主机服务器 1130 安装完之后 ... -
eclipse 如何将普通的项目编程动态的Web项目
2010-08-28 07:54 2448eclipse 如何将普通的项目编程动态的Web项目 以本人 ... -
eclipse中如何将项目转成dynamic web project
2010-08-27 23:20 1678eclipse中如何将项目转成 ... -
Struts2与Ext JS数据表格GridPanel之间的数据传递
2010-08-23 08:20 1853本帖介绍如何通过struts ... -
Struts2和ExtJs之间的数据传递详解
2010-08-23 08:15 1490最近在学习Extjs,发现在Struts2中支持json数据, ... -
RA layer request failed
2010-08-22 23:03 3425RA layer request failed 一日, ... -
关于ExtJS错误“例外被抛出且未被接住”
2010-08-21 20:30 4830关于ExtJS错误“例外被抛出且未被接住” 原因就是使用了 ... -
Http错误码说明
2010-08-21 19:44 1208Http错误码说明 HTTP常见错误代码列表汇总及解决方案 ... -
Failed to create the Java Virtual Machine
2010-08-21 08:20 1256由于项目里面用eclipse,今天从eclipse官网下载了一 ... -
JavaScript在IE和Firefox(火狐)的不兼容问题解决
2010-08-20 20:47 10221.兼容firefox的 outerHTML,FF中没有out ... -
FireFox与IE中CSS兼容技术集绵整理
2010-08-20 20:39 15811.css在不同浏览器下显示效果不同 firefox和IE对 ... -
svn版本好不显示的解决办法
2010-08-19 10:36 1122eclipse 中使用 svn 插件,原本正常,未作任何更改 ... -
数据库如何处理多对多的关系
2010-08-18 20:22 1691数据库设计多对多关系 ... -
教你如何解决oracle卸载不干净的问题
2010-08-18 17:20 2608方法一:oracle卸载不干净的解决办法 先前安装的是10.1 ... -
jsp页面放到WEB-INF 跟webroot的区别
2010-08-15 22:45 1671JSP存放在 WEB-INF 跟webroot的区别 ...
相关推荐
ExtJS + Struts2 + Hibernate + JSON 登录程序是一个典型的Web开发示例,结合了前端JavaScript框架、MVC框架、持久层框架以及数据传输格式,实现了用户登录功能的前后端交互。下面将详细阐述这些技术及其在登录程序...
在IT行业中,构建Web应用程序是一项常见的任务,而`ExtJS`、`Struts2`和`JSON`是其中的关键技术,常被用来创建交互性强、功能丰富的用户界面和高效的服务器通信。下面将详细阐述这三个技术及其结合使用的情况。 ...
这是一个基于ExtJS、Struts2和JSON的登录实例,适合初学者学习Web应用程序开发。这个实例演示了如何将前端的JavaScript框架ExtJS与后端的Java MVC框架Struts2结合,通过JSON进行数据交换实现用户登录功能。下面将...
总结来说,"漂亮的Extjs+struts2实现联动下拉"是结合了Struts2的服务器端处理能力和ExtJS的客户端展示优势的一个实用示例。通过Struts2 Action获取和处理数据,使用ExtJS的ComboBox组件展示和交互,实现动态联动效果...
ExtJS 是一个强大的JavaScript库,专门用于构建富客户端的Web应用程序。它提供了丰富的组件库,包括数据网格、表格、图表等,使得开发者可以创建出功能强大且用户界面友好的网页应用。Struts,则是Java EE平台上的一...
6. 配置文件:如Structs的struts.xml、EXTJS的app.js,以及数据库连接配置等。 7. 图片和其他静态资源:用于增强用户体验的媒体文件。 通过结合EXTJS、Structs和MySQL,开发者能够构建出高性能、易维护的Web应用,...
总结起来,这个"extjs+struts2省市区三级联动完整示例"展示了如何结合使用ExtJS的客户端能力与Struts2的服务器端控制来实现动态数据交互。通过这种方式,我们可以创建出响应式的用户界面,提高Web应用程序的用户体验...
2. **Action配置**:在Struts2中,需要为ExtJS的请求定义对应的Action,例如设置Action的方法返回类型为`json`,并在配置文件中配置相应的结果类型。 3. **JSON响应**:Struts2的Action可以通过`@ResponseBody`注解...
在这个例子中,Struts2作为控制器,接收ExtJS发送的AJAX请求,处理数据库操作,并将结果封装成JSON格式返回给前端。 JDBC(Java Database Connectivity)是Java访问数据库的标准API,它提供了连接数据库、执行SQL...
为了使EXTJS4和STRUTS2能够通信,需要配置STRUTS2的JSON插件,使得ACTION可以返回JSON格式的数据,EXTJS4能解析这些数据更新界面。同时,需要在EXTJS4中设置适当的proxy,如Ajax proxy,指定URL到STRUTS2 ACTION,并...
例如,通过Struts2的JSON插件,可以方便地将服务器端的数据以JSON格式返回给ExtJS,后者再根据JSON数据动态渲染UI,提高了用户体验。 **ScholarshipSystem项目** "ScholarshipSystem"可能是一个奖学金管理系统,...
ExtJS 是一个强大的JavaScript库,专门用于构建富客户端(Rich Internet Applications,RIA)的Web应用程序。它提供了丰富的组件模型,包括表格、面板、菜单、工具栏等,使得开发者可以创建出具有桌面应用般用户体验...
文章可能通过一个实际项目或示例,详细解释了如何将ExtJS的Grid Panel与Struts 2通过JSON进行数据交互,帮助读者理解这两种技术的整合过程。学习这些内容有助于提升Web应用的用户体验,实现数据的实时更新和交互。
在IT行业中,构建Web应用程序是常见的任务,而“Hibernate+Spring+Struts2+ExtJS开发CRUD功能实例”提供了一个完整的解决方案,用于快速开发基于Java的Web应用,特别是涉及数据库操作的CRUD(创建、读取、更新、删除...
总结来说,这个实例展示了如何将前端的ExtJS4框架,特别是其Accordion布局和Ext.tree.Panel组件,与Servlet和Struts2后端框架集成,利用JSON进行数据交换,来创建一个动态的、交互性强的Web应用。用户可以通过折叠和...
Struts2、ExtJS和JSON是Web开发中的三个关键技术,它们在构建动态、交互式的Web应用程序时发挥着重要作用。下面将详细介绍这三个技术及其整合过程。 首先,Struts2是一个基于MVC(Model-View-Controller)设计模式...
Struts2的Result类型可以设置为JSON,以便返回的数据能被EXTJS解析。 具体步骤如下: 1. 创建EXTJS Grid:定义列模型、Store和Column模型,配置分页参数。 ```javascript var store = Ext.create('Ext.data.Store'...
一个运用Extjs,Struts2, json,iterator技术构建的iterator_jsonDemo2。iterator_jsonDemo1的链接:http://download.csdn.net/detail/cafebar123/8816409 运用了Extjs,Struts2, json,iterator技术, 将数据从...
在IT领域,特别是Web开发中,Struts2与ExtJS的结合是一种常见且高效的技术搭配。Struts2作为后端框架,负责业务逻辑处理及数据交互;而ExtJS作为前端框架,专注于用户界面的构建与优化。两者结合,能够实现前后端...