시용 GWT - 1
구 글 웹 툴 킷 이 드디어 완전히 시작 되 었 습 니 다. 기 쁩 니 다!
자 바스 크 립 트 를 쓰 는 것 은 너무 귀찮아 서 일찌감치 바 꾸 고 싶 었 다. 이번 gwt 개원 은 바로 좋 은 기회 이다.
첫날 시용 하여 Spring 과 의 통합 을 테스트 하여 참고 하 였 다.http://gwt-widget.sourceforge.net/GWT 서버 라 이브 러 리 (GWT - SL) 0.1.2 Released 의 GWT SpringController. 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, Array List, 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
자바 원본 파일 은 utf - 8 인 코딩 을 사용 하 는 것 을 권장 합 니 다. 그렇지 않 으 면 혼 란 스 러 울 수 있 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
구글 지도에 지명 등 정보 보이기마커에 표시된 알림 정보는 infowindow를 사용했지만 infowindow는 너무 못생겼고 위치가 항상 위에 있어서 이 코드를 찾았습니다. 이것은 다른 사람이 쓴 코드인데, 나는 두 군데를 고쳤다. 일.모든 알림...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.