GWT 应用,第 1 部分: 使用 Google Web Toolkit 实现 places 应用程序
2009-10-08 00:00:00 来源:WEB开发网所有的 GWT 应用程序都是 GWT 模块,并且所有的 GWT 模块都实现了 EntryPoint 接口,其中定义了一个方法:public void onModuleLoad()。该方法类似于桌面应用程序中的 main() 方法。在 places 应用程序中,onModuleLoad() 方法用于在垂直分隔面板中添加地址列表框和一个标签。然后,它从数据库获取地址并将分隔面板添加到应用程序的根面板中。(根面板表示应用程序 HTML 页面的主体)。
创建小部件和配置它们都可以通过 GWT 轻松实现。获取和显示数据库中的值则稍微复杂一些。
RPC 和数据库集成
要从数据库获取地址,我需要使用 GWT RPC。首先,我使用 GWT.create() 方法实例化一个 AddressServiceAsync 实例,然后使用该实例调用 RPC 并捕获调用的结果,如清单 2 所示:
清单 2. Places.java, take 2
package com.clarity.client;
public class Places implements EntryPoint {
final ListBox addresses = new ListBox();
final final ArrayList<Address> addressList = new ArrayList<Address>();
final HorizontalSplitPanel hsp = new HorizontalSplitPanel();
public void onModuleLoad() {
hsp.add(addresses);
hsp.add(new Label("Address grid goes here"));
hsp.setSplitPosition("175px");
getAddresses();
RootPanel.get().add(hsp);
}
public void getAddresses() {
// Instantiate the address service
AddressServiceAsync as = (AddressServiceAsync) GWT
.create(AddressService.class);
as.getAddresses(new AsyncCallback<List<Address>>() {
public void onFailure(Throwable caught) {
GWT.log("Can't access database", caught);
}
public void onSuccess(List<Address> result) {
Iterator<Address> it = result.iterator();
while (it.hasNext()) {
Address address = it.next();
addresses.addItem(address.getAddress());
addressList.add(address);
}
addresses.setVisibleItemCount(result.size());
}
});
}
- ››应用云平台的可用性——从新浪SAE看云平台设计
- ››应用程序的配置管理Poco
- ››应用WebSphere MQ V6 来构建企业信息总线的行业示...
- ››应用 Python 解决一些实际问题
- ››应用JScript和XML自定义无刷新多级联动菜单
- ››应用:C/C++获取本机IP地址
- ››应用程序开发者偏好苹果也关注Android
- ››应用软件视频会议中的几个常见问题
- ››部分 WM6.5 手机有望升级到 Windows Phone 7
- ››应用 RSA 实现 EMF 的开发
- ››GWT 应用,第 1 部分: 使用 Google Web Toolkit 实...
- ››应用程序控制:强大的微软AppLocker
更多精彩
赞助商链接