Google Web Toolkit终于完全开源了,开心!
写Javascript太烦了,早就想换了,这次gwt开源,正是一个好机会.
第一天试用,便测试了与Spring的整合,参考了http://gwt-widget.sourceforge.net/中的GWT Server Library (GWT-SL) 0.1.2 Released 中的 GWTSpringController.java
import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.context.ServletContextAware;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;
import com.google.gwt.user.server.rpc.RemoteServiceServlet;
public class GWTSpringController extends RemoteServiceServlet implements ServletContextAware, Controller {
private ServletContext servletContext;
public void setServletContext(ServletContext servletContext) {
this.servletContext = servletContext;
}
@Override
public ServletContext getServletContext() {
return servletContext;
}
public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response)
throws Exception {
doPost(request, response);
return null;
}
}
客户端代码:
// File LoginForm.java
import com.google.gwt.user.client.rpc.IsSerializable;
public class LoginForm implements IsSerializable {
private String usercode;
private String pwd;
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
public String getUsercode() {
return usercode;
}
public void setUsercode(String usercode) {
this.usercode = usercode;
}
}
// File LoginSvr.java
import com.google.gwt.user.client.rpc.RemoteService;
import com.connstar.client.form.LoginForm;
public interface LoginSvr extends RemoteService {
Integer queryUserPwd(LoginForm command) throws Exception;
}
// File LoginSvrAsync.java
import com.connstar.client.form.LoginForm;
import com.google.gwt.user.client.rpc.AsyncCallback;
public interface LoginSvrAsync {
void queryUserPwd(LoginForm form, AsyncCallback callback);
}
// 远程调用代码
Button rpcButton = new Button("RPC");
rpcButton.addClickListener(new ClickListener() {
public void onClick(Widget sender) {
LoginSvrAsync loginService = (LoginSvrAsync) GWT.create(LoginSvr.class);
ServiceDefTarget endpoint = (ServiceDefTarget) loginService;
endpoint.setServiceEntryPoint("http://127.0.0.1:8080/test/gwt/login");
AsyncCallback callback = new AsyncCallback() {
public void onSuccess(Object result) {
Window.alert("success:" + result.toString());
}
public void onFailure(Throwable caught) {
Window.alert("failure:" + caught.toString());
}
};
LoginForm form = new LoginForm();
form.setUsercode("用户名");
form.setPwd("密码");
loginService.queryUserPwd(form, callback);
}
});
试用成功.
其中注意的是在服务器端也要包含 com.google.gwt.user.client.rpc.core这个包
,是实例化Character, Byte, Short, Integer, Long, Boolean, Float, or Double,ArrayList,HashMap等类用的.
A type is serializable and can be used in a service interface if it
* is primitive, such as char, byte, short, int, long, boolean, float, or double;
* is String, Date, or a primitive wrapper such as Character, Byte, Short, Integer, Long, Boolean, Float, or Double;
* is an array of serializable types (including other serializable arrays);
* is a serializable user-defined class; or
* has at least one serializable subclass
Java源文件建议使用utf-8编码,否则会乱码.
分享到:
相关推荐
在试用该应用程序。为什么是 GWT? GWT 允许您在客户端和服务器端使用 Java 和所有工具和基础设施。 使用它的小部件库,您还可以从 DOM 和浏览器的差异中抽象出一些。为什么选择 Xtend? 对于客户端,您经常必须...
您可以通过转到并单击橙色的“免费试用密钥”按钮来获得 30 天免费试用许可证。 它会给你一个试用钥匙。 ,其中向您展示了如何安装密钥。 基本上你需要在你的 HOME 目录中创建一个文件名“.vaadin.charts.developer...
用于 Java/Android/iOS/Javascript/GWT/J2ObjC 的 WebSocket 事件总线 访问进行讨论和公告。 服务器端:实时通道 Vert.x 模块标识符: 配置: : 开发与运行: : 对于 java 和 android:realtime-android 见: ...
什么?你不知道什么是RCP?你out啦! RCP stands for Rich Client Platform。它是eclipse平台上开发富客户端的一个平台。...现在时间是2010年4月8日12:32:28,我刚刚测试过,注册机可以正常使用,请大家下载试用!
我的试用项目的集合,这些项目具有新技能或仅出于娱乐目的。 深度学习 一组深度学习模型的实现,其中包含对现实问题的培训。 手势 完工: 训练集由1080张64 * 64像素的图像组成,带有标签,代表图像中手势所代表的...
1. MyEclipse 2.x系列:这一系列主要针对Java EE 1.4进行开发,提供了对JSP、Servlet、EJB等技术的支持。 2. MyEclipse 3.x系列:这个阶段开始支持Java EE 5,加入了对JSF、Struts、Spring框架的集成,提升了对Web...
MyEclipse的支持范围广泛,涵盖了Java SE、Java EE、Struts、Hibernate、Spring、GWT、JSF等多种技术框架。 ### 软件激活的重要性 对于MyEclipse这样的商业软件,注册码或激活码的作用至关重要。它不仅是软件合法...
大家好! 这是instantiations主打的产品《Window.Builder.Pro.v7.4.0》的注册机,现在时间是2010年4月8日12:21:59,刚刚测试有效,请大家下载试用。
这是一个 GWT 模块,提供对自定义对象格式的支持,这是 Chrome 中的一项实验性功能。 要试用此代码,您必须使用 Chrome Canary 并启用隐藏实验,这非常棘手。 有关如何打开它的完整说明,请参阅: :
这是instantiations主打的产品《Window.Tester.Pro.v5.0.0》的注册机,现在时间2010年4月8日12:27:37,刚刚测试有效,请大家下载试用。 如果你不知道这个软件是干什么的,我给大家一句话介绍:这是一个对软件的用户...