WEB开发网
开发学院软件开发Java GWT 应用,第 1 部分: 使用 Google Web Toolkit 实... 阅读

GWT 应用,第 1 部分: 使用 Google Web Toolkit 实现 places 应用程序

 2009-10-08 00:00:00 来源:WEB开发网   
核心提示: 所有的 GWT 应用程序都是 GWT 模块,并且所有的 GWT 模块都实现了 EntryPoint 接口,GWT 应用,第 1 部分: 使用 Google Web Toolkit 实现 places 应用程序(4),其中定义了一个方法:public void onModuleLoad(),该方法

所有的 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()); 
   } 
  });  
}

上一页  1 2 3 4 5 6 7 8 9  下一页

Tags:GWT 应用 部分

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接