我正在研究GWT。看起來不錯,但我們的軟件必須在沒有JS要求的情況下工作。可能嗎?GWT沒有JavaScript?
回答
不,它不是。 GWT提供了一個窗口工具包,專門設計用於在客戶端上運行,而不是在服務器上運行。退化的(例如非JavaScript)代碼需要將完整的HTML傳遞給瀏覽器,而GWT根本無法完成。它將您的java代碼編譯爲一個傳遞給客戶端的JavaScript文件,並通過客戶端上的DOM操作構建UI。然後有一些代碼可以與服務器進行對話,一些是隱含的,一些是你自己寫的。這種模式不適合有利地退化。
稍微優雅地降級的唯一方法是提供第二個非JavaScript UI或使用另一個工具包,它不呈現客戶端上的前端,但提供HTML。抱歉。
您可以通過創建一個「足夠好」的html結構(包括表單帖子,鏈接菜單等)來優雅地降級,然後將GWT附加到該結構的每個部分,從而增強其行爲。例如,使HTML動態下拉,使用打開lightbox的組件替換指向另一個頁面的鏈接,或者使用XML http請求替換另一個頁面的鏈接以執行相同的操作(例如投票)。
我爲客戶做了這麼多次。
這與大多數GWT開發的方式相反,但它可以工作。
我在設計我的網站時正在自己看這個問題。 GWT並不比編寫Javascript文件更好,因爲它們的語法幾乎完全相同。當您共享客戶端和服務器庫時,真正的好處就來了。希望在過去的兩年裏你已經解決了這個問題,但無論如何,這裏有一些你可能會覺得有用的例子。
創建Gmail:使用GWT,您可以在共享包中創建一個EmailFormatter,它執行電子郵件列表標記,以便您的服務器不需要。然後,您可以通過在服務器端使用相同的EmailFormatter類來添加對舊版瀏覽器(「舊版本」)的支持。
表單驗證:雖然從安全角度來說絕對有必要驗證用戶輸入服務器端,但對於大多數用戶來說,在提交表單之前讓Javascript檢查表單更爲方便。您可以使用與GWT相同的Java代碼來執行此操作。
- 1. 有沒有使用JavaScript創建GWT Widgets的方法?
- 2. 帶有Rails的JavaScript/Java GWT
- 3. GWT null沒有屬性
- 4. GWT RootPanel沒有交互
- 5. 沒有GQuery的jquery + gwt
- 6. GWT History.back()沒有觸發onValueChangeHandler
- 7. GWT程序沒有運行
- 8. GWT Autobean沒有setter方法
- 9. Javascript,GWT
- 10. 有沒有辦法讓GWT AutoBean下滑?
- 11. 有沒有像GWT UIBinder的Wicket的ListView?
- 12. 有沒有人使用過「GWT Designer」?
- 13. GWT/java和javascript
- 14. GWT IFrame Javascript error
- 15. GWT javascript background loading
- 16. GWT和帶有javascript的網頁模板
- 17. 類似GWT但沒有編譯
- 18. gwt datebox沒有得到默認的Css
- 19. gwt anchor沒有更新歷史堆棧
- 20. 調試GWT Rcp失敗沒有錯誤
- 21. GWT Widget邊框沒有正確顯示
- 22. GWT-Java- Popup沒有失去焦點?
- 23. 開發沒有網絡連接的GWT?
- 24. GWT沒有找到自定義類?
- 25. Eclipse GWT「沒有引用CSS文件」
- 26. 使用沒有maven的gwt-jackson
- 27. GWT表單輸入字段沒有值
- 28. gwt沒有顯示正確的圖像
- 29. 根本沒有調用GWT servlets
- 30. Gwt Tomcat部署:沒有任何作用
不夠公平。所以,GWT本質上只會創建js文件。 – Loki 2008-11-28 20:46:09