使用Cypal Studio for GWT简化Ajax开发
http://tech.ddvip.com 2007年08月09日 社区交流
内容摘要:使用 Google Web Toolkit (GWT),Java 程序员可以使用纯 Java™ 编程语言编写富 Asynchronous JavaScript + XML (Ajax) 应用程序。专为 Eclipse IDE 设计的 Cypal Studio for GWT 将支持对 GWT 结构的管理。了解如何使用 Cypal Studio for GWT 创建新的 GWT 模块,支持创建远程过程调用,并使您可以轻松地查看和部署 Web 应用程序。
public Integer getNumber(int maxNumber) {
return new Integer((new Random()).nextInt());
}为了发出调用,我已经将其添加到模块中,如清单 5 所示。注意,为使此调用正常工作,我向 HTML body 中添加了另一个有两个单元格的行,第一个单元格 ID 为 sender,第二个单元格 ID 为 response。模块现在有一个按钮,它用于从服务器中检索随机数并将其与单击次数相比较。
清单 5. 添加了调用的模块public class FirstModule implements EntryPoint {
int count = 0;
private Button button;
private Button sender;
private Label label;
private Label response;
public void onModuleLoad() {
button = new Button("Count Your Clicks!");
sender = new Button("Send Your Count!");
label = new Label(String.valueOf(count));
response = new Label("No Guess Yet");
button.addClickListener(new CountButtonClickListener());
sender.addClickListener(new SendClickListener());
RootPanel.get("button").add(button);
RootPanel.get("count").add(label);
RootPanel.get("sender").add(sender);
RootPanel.get("response").add(response);
}
public class CountButtonClickListener implements ClickListener {
public void onclick(Widget sender) {
count += 1;
label.setText(String.valueOf(count));
}
}
public class SendClickListener implements ClickListener {
public void onClick(Widget sender) {
NumberGeneratorAsync async =
NumberGenerator.Util.getInstance();
async.getNumber(10, new NumberCallback());
}
}
public class NumberCallback implements AsyncCallback {
public void onFailure(Throwable error) {
response.setText("Oops");
}
public void onSuccess(Object resp) {
int intResp = ((Integer) resp).intValue();
if (intResp == count) {
response.setText("Got It!");
} else if (intResp < count) {
response.setText("Too Low");
} else if (intResp > count) {
response.setText("Too High");
}
}
}
}
来源:developerworks 作者:Noel Rappin 责编:豆豆技术应用