與GWT和App Engine的還有摔跤,我得出這樣的問題:服務器可以創建GWT對象並將其返回給客戶端嗎?
我有填充了各種數據,我想提出使用GWT RPC客戶端上的應用程序引擎。
我已經找到了困難的方式,因爲我的模型對象使用JDO進行了註釋,我不能將它們發送回客戶端,因爲它們不是可序列化的。這意味着我將不得不創建一箇中間類層來從我的模型對象中提取數據,並將其發送回客戶端以異步使用。
我在想,雖然可以在一個servlet中構造一個GWT對象並將它發回來使用?例如,servlet將接收到我的異步請求,從數據庫中提取我想要的數據,使用適當的數據子元素創建GWT VerticalPanel(),並將該VerticalPanel發送回客戶端以進行注入。
我對這裏進行的Java/Javascript交互的理解仍然模糊,我認爲在應用程序被deplyed後發送未編譯爲Javascript的Java對象將無法工作。有人能爲我澄清這一點嗎?
感謝您的幫助。我認爲這幾乎是我想要採取的方法。我所預見的問題是如何使用POJO來傳輸App Engine數據類型。例如,我想將聯繫人對象存儲在數據存儲中,並將其作爲POJO傳回客戶端。像firstName和lastName這樣的字段會很簡單,因爲這些字段通常只是字符串,但是聯繫人的照片呢?這可能需要進入數據庫作爲Blob,我不會在客戶端上的源代碼。 – 2009-11-28 04:49:09
我們對圖像採取的一般方法是將文件URL存儲在後端,並將實際圖像存儲在文件系統中,然後當我們將這些POJO發送到客戶端時,我們將文件URL轉換爲客戶端可以顯示的http URL。 另一種方法是將它們作爲BLOB保存在數據庫中,並提供一個將BLOB作爲圖像傳輸回客戶端的servlet,並將URL存儲到POJO中該BLOB的servlet。 – rustyshelf 2009-11-28 23:23:09
與GWT序列化相關的註釋並不多,它是在字節碼增強過程中JDO添加的「隱藏」字段。一個JDO pojo不一定只是一個pojo,它也可以有元數據。 – 2009-12-04 21:31:13