什么是ExtJS? 要了解什么是ExtJS,得先了解一下什么是YUI。

  YUI(Yahoo! UI Library )是一个开源的JavaScript库,与Ajax、DHTML和DOM等技术一起使用可以用于创建富有交互性的Web应用,它还包含丰富的CSS资源。

  Ext最初是YUI的一个扩展,然而,它现在也可以扩展自JQuery和Prototype。自1.1版开始,Ext已经可以独立运行,不需要依赖于那些外部库,虽然它仍然是可被集成的一个选项。

  现在,Ext 2.0版可以使用许多不同的基础库,例如YUI、JQuery和Prototype,或者是可以独立的运行。

  ExtJS 是一个非常棒的Ajax框架,可以用来开发富有华丽外观的富客户端应用,能使b/s应用更加具有活力。ExtJS是一个用javascript编写,与后 台技术无关的前端ajax框架。因此,可以把ExtJS用在.Net、Java、Php等各种开发语言开发的应用程序中。

  不多说,先看数据库的设计:

 

SQLCode

  字段number为排列位置 1为最上(子节点),leaf表示是子节点或父节点。

  后台数据处理接口如下:

 

JavaCode

 实现如下:

 

Code

 需要注意的是,如果将removeChildById改成这样:

 

public void removeChildById(Exttree node) throws Exception {

        
this.getHibernateTemplate().delete(node);
    }

 

  将会报此异常:a different object with the same identifier value was already associated with the session
  内存中存在两个实例,但是不是同一个对象,因此Hibernate不知道该删除哪一个,因为在删除之前已构建一个实例,删除时再传递需要删除的对象,因为内存地址不一样,因此报这样的错误,解决办法是重新打开一个Session或者清空当前Session。

  修改时也是如此,可使用Hibernate的getHibernateTemplate().merge(node);

  业务层接口如下:

 

Code

 

  实现:

 

Code

 

 主要的数据访问与业务写好之后,接下来将Web的访问控制写好:

 

Code

  Spring配置如下:

 

XMLCode

  本例子中使用了DWR作为异步调用服务器方法,DWR框架配置比较简单,因为例子中的对象由Spring托管,因此需要配置DWR与Spring的交互,首先先看Web.xml中的配置

 

XMLCode

 

  dwr.xml配置与Spring的交互:

 

XMLCode

  将EXTJS的核心JS导入后,需要手动编写JS的业务,代码如下:

 

Code

  展示代码:

 

Code

  

 效果图:

 

 其他的操作较多就不贴图了。

 posted on 2009-06-06 23:00  Stephen Zhang  阅读(3776)  评论(115编辑  收藏  举报