我想爲我的進一步工作做一個示例代碼。我使用gwt vanillia和gwt新的。我的目的是填充一些文本框和網格。用於從數據庫填充文本框,rpc調用沒有問題。但我不能通過使用RPC調用填充數據網格。我使用Bastian Tenbergen's tutorial 來填充一些文本框。但是當我試圖使用ArrayList填充異步回調的網格時,代碼失敗。我知道ArrayList也是可序列化的,但我無法解決問題。 任何意見表示讚賞。 這是我的questin的一些代碼。 在服務器軟件包:SqlDbConnection.javagwt與ArrayList asyncCallback <SomeClass>失敗時檢索數據
public ArrayList<hastaGrid> callGrid(String something){
ArrayList<hastaGrid> list = new ArrayList<hastaGrid>();
hastagrid hastaGrid = null;
try {
Statement st = conn.createStatement();
ResultSet result = st.executeQuery("select name from TEST where name = '"+ something +"'");
while(result.next()) {
hastagrid = new hastaGrid(result.getString(1), result.getString(2),result.getNString(2),result.getString(3));
list.add(hastaGrid);
System.out.println("result: " +hastagrid.getLogin().toString()+" " + hastagrid.getPassword() +" "+ hastagrid.getName() +" " + hastagrid.getSurname());
}
result.close();
st.close();
} catch (Exception e) {
e.printStackTrace();
}
return list;
}
在客戶包:hastaGrid.java //類也有getter和setter方法。
public class hastaGrid implements IsSerializable {
private String name;
private String surname;
private String login;
private String password;
public hastaGrid(String name,String surname, String login, String password){
this.setName(name);
this.setSurname(surname);
this.setLogin(login);
this.setPassword(password);
}}
在客戶包:DBConnection.java
public interface DBConnection extends RemoteService {
public ArrayList<hastaGrid> callGrid(String name); }
在客戶包:DBConnectionAsync.java
public interface DBConnectionAsync {
public void callGrid(String name, AsyncCallback<ArrayList<hastaGrid>> callback); }
在客戶包:userDetail.java
onModuleLoad(){ AsyncCallback> callback = new AuthenticationHandler1(); rpc.gridGetir(「John」,callback); }
private class AuthenticationHandler<T> implements AsyncCallback<ArrayList<hastaGrid>> {
public void onFailure(Throwable ex) {
RootPanel.get().add(new HTML("RPC call failed"));
}
public void onSuccess(ArrayList<hastaGrid> result) {
result.get(0).getName(); } } // I just want to reach some result here when debugging.
我在網上看了很多頁面,但找不到具體的解決方案。我可能是錯的。感謝您的回覆。
感謝您的建議。我只是照你所說的去做了。然後volia ..也感謝代碼示例。我會盡力實施這種方式。而對於類名,我同意你:) – comitatenses 2012-03-20 10:01:46
@Jasper變量orderOffset的用法是什麼? – Prince 2013-05-09 16:32:56
orderOffset是我從這個例子中得到這個例子的類中的一個字段,只是爲了跟蹤最後獲取的Id。 – 2013-05-10 12:58:03