`
SimonLei
  • 浏览: 176178 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

SmartGWT 里动态DataSource的实现思路

阅读更多

这个思路其实是为了解决title 中文问题的时候发现的。当时想着,实在不行我就自己做

一个DataSource的定义。SmartGWT 里,DataSource就是它的元数据核心。

这里,DataSource实际上有两个,

其一是客户端的 com.smartgwt.client.data.DataSource,这部分是开源的,可以自己随意创建。

另一个是服务器端的 com.isomorphic.datasource.DataSource, 这个是SmartGwtEE 里面的

内容,非开源的,而且只能在Server端使用,不能在客户端使用。

 

而我想做的动态DataSource,指的是在客户端定义一个DataSource,这里都可以用java类来描述

各个Field,包括类型什么的。而在服务端,根据客户端定义的DataSource自动生成一个服务端的

DataSource,这样就可以根据需要进行灵活的定义,而且所有的定义都通过java代码来进行,又可以

进行编译期检查,还可以绕过中文乱码问题。

 

当然,现在中文乱码问题解决了,这个需求就显得不那么迫切。把思路记录一下,以后有需要的时候再

来用这个思路实现动态的DataSource。

 

1. 在server.properties里面,定义缺省的 datasource repo:

datasources.repo.default: org.simon.xxx.server.MyDSRepo

 

2. MyDSRepo 继承自FileSystemDSRepo,这个实际上是SmartGWT 缺省的DSRepo

 

3. 在public DataSource loadDS( String dsName) 方法当中,判断是不是动态的DataSource ,

如果是,那么根据客户端的DataSource Class是否有变化,来决定是否生成一个新的 ds.xml文件,

然后还交给 super来装载。

 

如何判断客户端的DataSource Class是否有变化,是个问题。当然也可以不生成ds.xml文件,但是这样

就不能利用 DSRepo的cache机制了。具体的实现,等需要时再说,目前没碰到这种需求,但是不得不说,

SmartGwtEE还是为扩展留下了各种机制的。

 

0
0
分享到:
评论
2 楼 SimonLei 2010-04-08  
SmartGWT 里的 ListGrid 缺省就是实现分页的。
你用滚动条拉动的时候,它再去取需要的数据。
1 楼 董瑞龙 2010-04-08  
你好 请问SmartGWT的Grid怎么实现数据分页啊?我查了Api他有个setDataPageSize();方法,我试验了,但是不起作用。
请指不吝指教,谢谢!

相关推荐

    smartgwt官方实例

    SmartGWT是一个强大的Java框架,用于构建富互联网应用程序(RIA)。这个官方实例是学习和理解SmartGWT功能和用法的宝贵资源,尤其适合自学者。"Showcase"通常指的是一个展示各种组件、特性和功能的集合,让我们深入...

    SmartGWT2.0 API

    SmartGWT 2.0 API 是一款基于Google Web Toolkit (GWT) 2.0的高级组件库,它为开发者提供了丰富的用户界面组件和强大的功能,以构建高性能、交互式的Web应用程序。SmartGWT 2.0 在其前身的基础上进行了多方面的改进...

    SmartGwt学习文档

    通过SmartGwt,开发者可以快速构建出复杂、动态的用户界面,而不必花费大量时间在样式和布局上。 SmartGwt的客户端数据管理也是一个重要的知识点。它支持各种数据绑定机制,如服务器端数据源(如Hibernate或JPA实体...

    smartGWT 3.1 最新版本

    - **数据绑定**:SmartGWT支持数据驱动的开发,允许开发者轻松地将后台数据与UI组件进行绑定,实现动态更新和实时交互。 - **异步通信**:利用GWT的异步RPC机制,SmartGWT可以实现高效的服务器通信,无须刷新整个...

    smartgwt-1.3

    - 通过使用SmartGWT,开发者可以利用Java编写客户端代码,然后自动编译为优化的JavaScript,实现跨浏览器兼容性。 2. **版本1.3的特点** - 在SmartGWT 1.3版本中,可能会包含一些新的特性、改进和修复的bug,具体...

    SmartGWT 12.0

    综上所述,SmartGWT 12.0 是一个功能强大、易用且高度可定制的Java开发框架,特别适合构建高效、动态的Web应用程序。无论是新手还是经验丰富的开发者,都能从中受益,实现快速开发高质量的RIAs。

    基于Maven的SmartGWT项目示例

    然后,开发者可以使用SmartGWT的API来设计和实现用户界面,而Maven则负责构建和测试整个项目。 在压缩包"smartgwtdemo4"中,我们可以期待找到以下内容: 1. pom.xml:这是Maven项目的核心配置文件,包含了项目的...

    smartGWT最新zip

    此外,SmartGWT支持MVC(Model-View-Controller)架构,这使得开发者可以更好地组织代码并实现模块化。它还集成了服务器端的数据服务,如DS(Data Source)框架,可以方便地与各种后端数据库进行交互,实现了数据的...

    smartGWT开发环境搭建(完整工程)

    SmartGWT的组件使用XML布局定义,配合Java后台逻辑,可以实现复杂的交互和数据展示。例如,你可以创建一个`ListGrid`组件来显示数据,使用`FormItem`来收集用户输入,通过`Button`触发事件处理。 为了运行和测试...

    smartgwt2.4 最新发布

    SmartGWT 2.4 是一个强大的开源框架,主要用于构建企业级的富互联网应用程序(Rich Internet Applications,简称RIA)。这个框架基于Google Web Toolkit (GWT) 并且扩展了其功能,提供了丰富的组件库和高级特性,...

    smartGwt学习笔记

    这不仅能够帮助解决眼前的问题,还能提升对SmartGWT组件体系的理解,从而更好地设计和实现复杂的用户界面。在进行此类定制时,开发者应保持代码的可读性和可维护性,避免过度依赖于特定的内部实现细节。同时,及时...

    SmartGWT 入门 SmartGWT 入门

    ### SmartGWT 入门详解 #### 一、SmartGWT 概述 **SmartGWT** 是一款基于 **Google Web Toolkit (GWT)** 的高级Web应用开发框架,旨在简化企业级Web 2.0应用的开发过程。自从 **GWT** 发布以来,它吸引了大量的...

    smartgwt + spring + hibernate

    总的来说,这个项目展示了如何使用SmartGWT构建富客户端界面,通过Spring实现松耦合的架构,并利用Hibernate处理数据持久化。对于初学者,这是一个很好的学习案例,可以帮助理解如何将这三个强大工具结合在一起,...

    smartGWT

    PagingListGrid是SmartGWT中的一个核心组件,它实现了分页表格的功能。这个类通常用于展示大量数据,并且允许用户在多页之间进行导航,以提高网页性能和用户体验。PagingListGrid结合了列表视图和分页控制,允许用户...

    smart GWT 3.1

    基于 GWT 的 SmartGWT 是非常容易 使用的,即使很炫的效果,实现代码也非常简短,Java 开发人员很快就可以做 出炫目的 Web 应用。 SmartGWT 有四个不同的发行版:免费的 LGPL 版,收费的专业版,Power 版 和企业版

    smartgwt5.0

    SmartGWT 是封装了 SmartClient 的 GWT API。而 SmartClient 是一个开源的企业级 Ajax 开发框架。 Google Web Toolkit 的发布,大大降低了 Java 开发人员进行 Web 开发的门槛。然而 GWT 本身提供的控件及功能相对...

    SmartGWT 快速开发文档(Quick Start Guide)

    ### SmartGWT 快速开发文档 (Quick Start Guide) 关键知识点详解 #### 一、文档概述 **SmartGWT** 是一款强大的基于 Java 的 Web 应用前端框架,它支持构建高性能的企业级应用程序。本快速开发文档为 SmartGwtEE ...

    SmartGwt 之原生 Desktop(与gxt无关)

    这篇内容将深入探讨 SmartGwt 的原生 Desktop 实现,以及如何利用这一特性来提升 Web 应用的用户体验。 首先,我们理解 SmartGwt 的 Desktop 特性。Desktop 提供了一种布局方式,它模仿了传统桌面应用程序的界面...

    smartgwt最新版本GWT的DEMO

    2. **数据绑定**:SmartGWT支持数据绑定,允许开发者将UI组件直接与后台数据模型关联,实现数据的动态更新。在DEMO中,可以看到如何使用DataSource和Record来实现这一功能。 3. **事件处理**:DEMO会演示如何注册...

    smartgwt 分页grid

    通过分析和学习这个示例,你可以更好地理解如何在实际项目中实现自定义的SmartGWT分页Grid组件。 总的来说,SmartGWT的Grid组件结合其强大的分页功能,使得开发者能够高效地管理和展示大量数据,同时提供优秀的用户...

Global site tag (gtag.js) - Google Analytics