適用版本GWT 1.0.21。
由于目前google web toolkit還沒有正式release, 所以問題多多。記錄一下碰到的問題:
1. Shell調試模式和實際編譯結果有差異。
shell中報告的異常在運行中只是一些凌亂的腳本錯誤,或者干脆沒有響應。
shell中通過的程序在實際運行時還會有錯誤。
2. 避免錯誤的方法是捕獲異常,
在onModuleLoad方法中try catch
或者GWT.setUnCaughtExceptionHandler()//全局異常捕獲
3. LOG, 利用GWT.log(). shell模式下會輸出到控制臺。
4. 遠程調用屬于異步。同步遠程調用可以自己包裝ClientCallback,在一個結束后調用另外一個.
5. RPC調用中Set傳遞有bug, 暫時用List
6. Eclipse直接運行Compiler/Shell, 加入gwt-dev-windows.jar。
main: com.google.gwt.dev.GWTCompiler/GWTShell
arguments: -out ${project_loc}\WebContent real/Index.html
classpath->UserEnties->advanced->add folder->選擇項目的src目錄,要在第一位。
7. Tomcat5問題多多, 用tomcat4.
8. gwt-user中非法包含javax.servlet, tomcat認為其無效。直接放到tomcat/common/lib中。或者在jar中去掉。
9. Exception.getStackTrace() 在Shell模式下有效, GWT.isScript()可以判斷
10. 靜態中文在html中亂碼,要在html header中加入<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
11. long被映射成js的double實際使用會有問題,建議用int
12. FlexTable的removeRow(int)有bug, 這行之后的widget會異常.需要自己寫補丁.
13. synchornized/wait(),notify()等同步操作不支持
14. 可用的eclipse插件:goolipse.com
6. 補充說明:GWTCompiler支持-style DETAILED,輸出的js格式標準,名稱有意義,可用于同shell不一致時候的js調試.
arguments: -out ${project_loc}\WebContent real/Index.html
這里real對應real.gwt.xml,一般應該有包名.
http://gwt.components.googlepages.com/
http://psthapar.googlepages.com/
超級推薦,更多gwt資源:
http://google.wikia.com/wiki/Google_Web_Toolkit#Online_Sample_Applications
群號:28310588