- 浏览: 1279564 次
- 性别:
- 来自: 常州
文章分类
- 全部博客 (499)
- java (101)
- linux (82)
- mysql (30)
- javascript (45)
- Oracle (12)
- ext (14)
- 虚拟机 (1)
- 搜索引擎 (2)
- struts2 (11)
- 设计模式 (9)
- nginx (17)
- tomcat (12)
- 随想 (10)
- spring (18)
- svn (1)
- flash (3)
- UML (1)
- 数据结构 (7)
- 算法 (2)
- 网摘 (9)
- 数据库 (15)
- ibatis (3)
- jquery (31)
- lucene (1)
- hibernate (14)
- Myeclipse (4)
- 线程 (7)
- jbpm (4)
- 重构 (1)
- mantis (3)
- MediaWiki (4)
- ExtMail (1)
- MDaemon (1)
- egit (1)
- dwr (7)
- sitemesh (2)
- mybatis (1)
- ico (1)
- hadoop (5)
- jsoup (1)
- urlrewrite (2)
- jstl (1)
- spring3 (2)
- aop (2)
- 定时器 (1)
- Quartz (2)
- apache (1)
- php (1)
- security (1)
- iptables (2)
- QQ (1)
- mysqldump (1)
- vim (1)
- memcached (4)
- jad (1)
- 微博 (1)
- html5 (1)
- css3 (1)
- httpclient (10)
- google (1)
- shortUrl (1)
- json (2)
- virtualBox (1)
- mantisBT (2)
- htmlunit (1)
- selenium (2)
- mail (1)
- 正则表达式 (4)
- html (3)
- css (2)
- jatoolsPrinter (1)
- 图片处理 (1)
- hql (1)
- webservice (1)
- 分词 (3)
- 短信 (1)
- VPS (1)
- 事务 (1)
- 广告 (1)
- 画廊 (1)
- git (3)
- github (1)
- openshift (1)
- 缓存 (1)
- web (3)
- android (3)
- c3p0 (1)
- 邮箱 (1)
- memcache (2)
- windows (2)
- js (14)
- 编辑器 (1)
- 打印 (1)
- centos (5)
- boneCP (1)
- 连接池 (1)
- sql (1)
- nosql (1)
- MongoDB (1)
- 浏览器 (1)
- node (1)
- node.js (1)
- backbone.js (1)
- lazyload (1)
- Switch Off (1)
- Titanium (1)
- 网站架构 (1)
- WebDriver (1)
- APJP (1)
- 代理 (1)
- comet (1)
- kendoui (1)
- UI (2)
- 互联网 (1)
- localStorage (1)
- 记录 (1)
- 微信 (2)
- Sphinx (1)
- netty (1)
- js,mvvm,Avalon (1)
- 安卓 (1)
- Tengine (1)
- 大数据 (1)
- 手机 (1)
- paypal (1)
- SaaS (1)
- gitlab (1)
- nodejs (1)
- React (1)
- shadowsocks (0)
- vpn (0)
- 验证码 (1)
- SSL (2)
- SEO (1)
- IntelliJ (1)
- 敏捷开发 (1)
- 项目管理 (1)
- 爬虫 (1)
- 正则 (1)
- owncloud (1)
- 云存储 (1)
- ajax (1)
- pjax (1)
- jdk (1)
- zookeeper (1)
- phantomjs (1)
- ELK (1)
- springcloud (1)
- IDEA (1)
- hexo (1)
- ss (1)
- letencrypt (1)
最新评论
-
peakandyuri:
这个是有BUG的,数字小体现不出来,数字大了就不对了,但是Ja ...
java十进制转换N进制并反转换的工具类 -
ginolai:
然后是相关配置:/etc/sysconfig/iptables ...
Linux中iptables设置详细 -
bzhao:
我测试没啥区别啊!
Thread.sleep()和Thread.currentThread().sleep()区别 -
zhl549342097:
match == false
Spring Security 3.1 中功能强大的加密工具 PasswordEncoder -
hellotieye:
renzhengzhi 写道drager 写道用jsoup后解 ...
jsoup select 选择器
感觉EXT3.x增加的最好的功能之一就是这个Ext.Direct了,它实现了类似于DWR的功能,把方法暴露在服务端以便直接在前端像类一样使用后台的方法,可以使用户不再关注ajax的request和response的处理了。。而且很好地直接使用了json格式,不需要我们自己来转换,不过现在为止除了和EXT框架整合比较方便意外,我觉得其他功能还有待改善,并不能替代DWR在JAVA-AJAX之间使用的地位,嘛...毕竟是新东西,值得学习一下!
1.去下载源代码,EXT官方并没有对java的支持。。。很囧,php都支持了啊。。。好吧找到google code的一个开源项目来支持java,下载地址:http://code.google.com/p/directjngine/downloads/list 导入里面的lib包里的jar以及最关键的deliverables/directjngine.1.2.jar
2.可以写个java类了:
TestDirect.java:
package com.xuyi.web.direct; import com.softwarementors.extjs.djn.config.annotations.DirectMethod; import com.xuyi.vo.User; /** * @author xuyi * */ public class TestDirect { //注意注解 @DirectMethod public String testData(String data){ return data; } @DirectMethod public User testUser(){ User user = new User(); user.setUsername("xuyi"); user.setPassword("123"); user.setAge(28); return user; } }
3.用到的User对象:
User.java:
package com.xuyi.vo; /** * @author xuyi * */ public class User { private String username; private String password; private int age; public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } }
4.OK,后台准备就绪,开始进行配置吧,先在web.xml里面进行相关的配置,这个不用多说,DWR也一样要配servlet,具体看注释吧:
web.xml中加入如下代码:
<servlet> <servlet-name>action</servlet-name> <servlet-class> org.apache.struts.action.ActionServlet </servlet-class> <init-param> <param-name>config</param-name> <param-value> /WEB-INF/conf/struts/struts-config.xml </param-value> </init-param> <init-param> <param-name>debug</param-name> <param-value>3</param-value> </init-param> <init-param> <param-name>detail</param-name> <param-value>3</param-value> </init-param> <load-on-startup>0</load-on-startup> </servlet> <servlet> <servlet-name>DjnServlet</servlet-name> <servlet-class> com.softwarementors.extjs.djn.servlet.DirectJNgineServlet </servlet-class> <init-param> <param-name>debug</param-name> <param-value>true</param-value> </init-param> <init-param> <param-name>minify</param-name> <param-value>true</param-value> </init-param> <init-param> <param-name>providersUrl</param-name> <param-value>djn/directprovider</param-value> </init-param> <init-param> <param-name>batchRequestsMultithreadingEnabled</param-name> <param-value>false</param-value> </init-param> <!-- api域: 对应下面的各个param-name的前缀,可以设置多个不同的域 在value中用逗号隔开--> <init-param> <param-name>apis</param-name> <param-value>test</param-value> </init-param> <!-- test.对应上面的域 test/用来安放其自动生成的js文件 --> <init-param> <param-name>test.apiFile</param-name> <param-value>test/test.js</param-value> </init-param> <!-- test.对应上面的域 命名空间会在页面加载时候用上 --> <init-param> <param-name>test.apiNamespace</param-name> <param-value>Ext.xuyi</param-value> </init-param> <!-- test.对应上面的域 类的具体包路径 --> <init-param> <param-name>test.classes</param-name> <param-value>com.xuyi.web.direct.TestDirect</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <!-- 默认servlet路径 --> <servlet-mapping> <servlet-name>DjnServlet</servlet-name> <url-pattern>/djn/directprovider/*</url-pattern> </servlet-mapping>
5.页面使用:
test_direct_1.jsp:
<%@ page language="java" pageEncoding="UTF-8"%> <html> <head> <title>Ext3 Direct功能示例</title> <script type="text/javascript" src="${ctxPath }/scripts/ext/ext-base.js"></script> <script type="text/javascript" src="${ctxPath }/scripts/ext/ext-all.js"></script> <script type="text/javascript" src="${ctxPath}/test/test.js"></script> </head> <body> <script type="text/javascript"> //Register provider //use namespace Ext.xuyi Ext.xuyi.REMOTING_API.enableBuffer = 0; Ext.Direct.addProvider(Ext.xuyi.REMOTING_API); //hello function hello=function(){ TestDirect.testData("hello,Ext Direct!",function(data){ console.log(data); alert(data); }); } //user function user=function(){ TestDirect.testUser(function(data){ console.log(data); alert("username:" + data.username+" password:"+data.password+" age:"+data.age); }); } </script> <input type="button" value="hello" onclick="hello();"> <input type="button" value="user" onclick="user();"> </body> </html>
6.访问页面点击按钮即可看到效果!
发表评论
-
Ext中文官网
2011-12-07 15:01 2241http://extjs.org.cn/ -
[转]EXT设计器破解2.X版本
2011-11-22 09:38 1010找了半天也只有2.X的破解版,凑合玩玩吧。。。 详细见:ht ... -
EXT 3.x 使用详解之Ext.Direct(二)---polling,简单实现网页聊天功能
2010-04-16 00:56 4250看了下Ext.Direct的polling功能还是封装的不错的 ... -
引用一下:EXT调试功能
2010-04-14 22:21 2492在ExtJS开发过程中,经常会遇到怎么也找不到错误的时候,这时 ... -
EXT 3.x 使用详解之Ext.History浏览器前进后退功能(二)--整合grid分页
2010-04-14 17:08 2260这篇是针对我以前所写的一个例子进行了对history的修改,修 ... -
EXT 3.x 使用详解之Ext.History浏览器前进后退功能(一)
2010-04-14 11:02 3510先来做个例子吧,这里写一个ext官方的例子,注意注释: &l ... -
EXT 3.x 使用详解之fileUpload
2010-04-09 23:59 7409哎,首先发泄一下情绪 ... -
EXT 3.x 使用详解之Ext.Viewport综合使用(一)
2010-04-07 16:59 8862本篇介绍了排序自定义,排版布局,以及对ext树和ext的gri ... -
EXT 3.x 使用详解之Ext.grid.GridPanel(三)
2010-04-07 16:05 2440本篇主要介绍了grid的ajax功能以及分页标签功能,具体看代 ... -
EXT 3.x 使用详解之Ext.grid.GridPanel(二)
2010-04-07 15:49 4963本篇主要讲解了grid如何自动调整大小,以便在我们窗口发生变化 ... -
EXT 3.x 使用详解之Ext.grid.GridPanel(一)
2010-04-01 17:59 2186很强大的grid总算登场啦,先来热热身,看下最简单的应用,详细 ... -
EXT 3.x 使用详解之Ext.Window
2010-04-01 17:06 2714这个是最基础的ext使用了,首先先确定要引入source里面哪 ... -
开始研究ext,使用心得
2010-04-01 16:53 1448经过几天的学习和实验,了解到,基本上ext的框架还是十分方便的 ...
相关推荐
8.3.2 在CRUD操作中restful的设置以及使用Ext.Direct的问题 247 8.4 ListView控件 248 8.5 本章小结 251 第四部分 Ext 扩展和Ext插件 第9章 Ext 扩展 254 9.1 利用Ext.extend实现继承 254 9.2 与Ext扩展相关的预备...
**Ext.data.Connection** 是对 **Ext.lib.Ajax** 的封装,它提供了一种更简洁的配置方式来使用Ajax。与直接使用 **Ext.lib.Ajax** 相比,**Ext.data.Connection** 提供了更加高级和方便的功能,如自动处理错误和回调...
在EXT JS中,分页是一种常见且重要的功能,特别是在数据量较大时,为了提高用户体验,分页能够有效地分批次加载数据,避免一次性加载过多数据导致页面卡顿。EXT JS主要支持XML和JSON两种数据格式来实现分页。下面将...
《Ext Direct Spring 参考手册》是一份针对ExtDirectSpring框架使用的详细指南。该框架主要用于整合ExtJS前端框架与Spring后端服务,通过简化前后端通信的方式提高开发效率。 #### 手册结构概述 手册内容分为多个...
**Direct Web Remoting (DWR)**是一种简化Ajax应用程序开发的技术,它使JavaScript能够直接调用服务器端Java方法,就像调用本地JavaScript函数一样。ExtJS与DWR的结合可以进一步增强Web应用的实时性和交互性。 ####...
**Ext.data**是Extjs框架中的核心组件之一,负责处理数据的加载、存储、转换以及与后端服务器之间的通信。它提供了一系列用于管理数据的类,包括Store、Reader、Writer、Proxy等。这些类共同协作,使得开发者能够...
《Spring+Ext+DWR整合应用详解:用户管理与实战》 在当今的Web开发领域,Spring、Ext和Direct Web Remoting (DWR) 是三种非常重要的技术,它们各自在不同的层面发挥着关键作用。Spring作为Java企业级应用的框架,...
DWR(Direct Web Remoting)是一种用于简化Ajax开发的框架,它允许开发者在客户端JavaScript中直接调用服务器端的Java方法,从而大大降低了开发复杂度。对于习惯于面向对象编程的开发者来说,DWR提供了一种更加直观...
1. **Ext JS**:Ext JS是一款基于JavaScript的开源框架,用于构建交互式的Web应用。它提供了丰富的UI组件库,支持多种布局管理器,并且可以方便地与各种后端技术集成。 2. **DWR (Direct Web Remoting)**:DWR是一种...
5、易于扩展是Ext的最大特色之一,如何才能将它的这一功能发挥到极致? 6、在应用Web化的大潮中,单页面应用越来越受到追捧,如何使用Ext快速而简单地开发单页面应用? 7、Web开发中最让人头疼的是脚本调试 .如何...
`Ext.data.Connection`是`Ext.data`模块中的重要组件之一,它对`Ext.lib.Ajax`进行了封装,提供了更为简洁的接口来配置和执行Ajax请求。`Ext.data.Connection`不仅能够处理基本的Ajax请求,还能通过其灵活的配置项...
Java开发领域涵盖了许多技术栈,本套PDF集合涵盖了Java企业级开发中的重要组件和技术,包括iBatis、EXT、Spring和Direct Web Remoting (DWR)以及SQL。这些技术是构建高效、可扩展的Web应用的基础,对于Java开发者来...
DWR(Direct Web Remoting)是一款远程过程调用(RPC)库,它简化了在JavaScript中调用Java函数以及从Java调用JavaScript函数的过程。这种双向交互方式通常被称为反向Ajax(Reverse Ajax),能够极大地提高Web应用...
在这个项目中,我们主要探讨的是如何在Eclipse集成开发环境中结合Direct Web Remoting (DWR) 和 EXTJS(EXT)来实现前端Grid组件与后端数据的交互。DWR是一种JavaScript库,允许Web应用程序在客户端和服务器之间进行...
该汉化版本解决了原英文版本的语言障碍,使得国内开发者能够更流畅地理解和使用这一工具,提高开发效率。 1. Unigui框架详解: Unigui是一个基于Delphi的跨平台Web应用开发框架,它允许开发者使用熟悉的VCL...