【发布时间】:2011-08-09 16:40:43
【问题描述】:
我在 GWT 中执行 throw 时遇到问题。所以我想在位于“服务器端”的客户端显示一个简单的字符串列表。好的,我的 Main 类中有这个属性:
private final GreetingServiceAsync greetingService = Util.getInstance(); // 这就像 > 键入 GWT.create( GreetingService.class ); public ArrayList 歌曲 = new ArrayList();
在我的 onModuleLoad() 方法中,我调用了另一个私有方法,该方法对 Server 类进行异步调用:
songs.addAll(getSongsList());
所以我的getSongsList方法如下:
public ArrayList<String> getSongsList() {
final int defaultSize = 4;
final ArrayList<String> temp = new ArrayList<String>();
GWT.log("Enter in getSongsLists");
greetingService.greetSongMostPopular(defaultSize,
new AsyncCallback<ArrayList<String>>() {
public void onSuccess(ArrayList<String> result) {
GWT.log("Result is:" + result);
temp.addAll(result);
GWT.log("Case 1 TEMP= " + temp);
}
public void onFailure(Throwable caught) {
// throw new
// UnsupportedOperationException("Not supported yet.");
Window.alert("Error greeting data");
}
});
GWT.log("CASE 2 TEMP = " + temp);
return temp;
}
我的问题是在案例 1 中我得到了
[INFO] [MainModule] - Case 1 TEMP= [Song 1, Song 2, Song 3, Song 4]
但在案例 2 中,我将 ArrayList 设为空!!!
[INFO] [MainModule] - 案例 1 TEMP= []
我做错了什么?
提前致谢!
【问题讨论】:
-
嗨,我有类似的问题。你能说出你做了什么吗?我的问题在这个链接上stackoverflow.com/q/9788970/1046176
标签: gwt