我正在研究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 RootPanel沒有交互
- 4. GWT History.back()沒有觸發onValueChangeHandler
- 5. GWT Autobean沒有setter方法
- 6. 有沒有像GWT UIBinder的Wicket的ListView?
- 7. 有沒有人使用過「GWT Designer」?
- 8. GWT/java和javascript
- 9. GWT javascript background loading
- 10. GWT小部件沒有顯示樣式
- 11. 沒有任何IDE的GWT + Maven
- 12. GWT與JPA - 沒有持續性提供
- 13. GWT表單輸入字段沒有值
- 14. GWT TextArea onBlur沒有被調用
- 15. 類似GWT但沒有編譯
- 16. gwt沒有顯示正確的圖像
- 17. 開發沒有網絡連接的GWT?
- 18. GWT開發插件沒有運行
- 19. 調試GWT Rcp失敗沒有錯誤
- 20. gwt anchor沒有更新歷史堆棧
- 21. Gwt Tomcat部署:沒有任何作用
- 22. gwt javascript檢查php
- 23. 在GWT中使用JavaScript獲取用戶位置,但變量沒有通過
- 24. `new`沒有在Javascript
- 25. 沒有在JavaScript中
- 26. asp.net checkboxlist沒有javascript
- 27. 確認沒有Javascript
- 28. 有沒有人有GWT 2.1 CompositePlace的例子?
- 29. 有沒有Javascript調試API?
- 30. 在GWT中引用JavaScript庫JavaScript代碼
不夠公平。所以,GWT本質上只會創建js文件。 – Loki 2008-11-28 20:46:09