2012-07-01 8 views
0

我想獲得對所顯示網頁的DOM的引用,以便我可以添加和刪除元素。我想通過從一個servlet發送HTTP請求來添加和刪除這些元素。此外,我希望能夠通過java,在來自所述servlet的http消息中,在瀏覽器中逐個節點地構建DOM。如何通過HTTP(從服務器)通過Java變更顯示的HTML頁面的DOM?

假如有人請求一個URL(說):http://helloWorld.xhtml

我想渲染通過發送HTTP消息,其中,通過節點的節點,構建顯示的文檔內容。然後,如果我需要更改文檔中的某些內容,我希望能夠以相同方式刪除html節點或添加html;我想通過http進行部分修改。

有沒有人知道具體的方法來完成這個?

我不想使用JavaScript,除非它意味着僅用於實現通信機制的實用方法。我不想使用客戶端applet,但這可能是解決http限制的一種方法(即通過jaxb發回java對象響應)。


我不想使用JavaScript,因爲我只想用一個HTML瀏覽器作爲中繼事件的發生回服務器元素的顯示器。然後,我希望能夠添加或刪除元素而不重繪頁面。另外,我想使用XSLT來生成HTML,但是我想再次更新網頁而不使用隱藏元素,也不需要重新繪製整個頁面。

我還想到別的東西。我可能會使用嵌入HTML頁面的JApplet,然後通過JAXB與JApplet進行通信?我假設你可以做到這一點..(也許它不這樣工作)。然後,在JApplet中,只需使用一種顯示HTML頁面的方法;組件中可能會有比JLabel更好的選項。

我認爲最好的選擇是使用HTTP機制(如果可能的話),否則使用某種中間層讓我在網頁和服務器之間來回發送Java。


我已經想過這個一分鐘,或許,如果瀏覽器會改變他們的更新策略,那麼,我們就可以使用HTTP來促進一種觀點認爲是可更新的每個元素的基礎上,通過支持添加或減少元素的瀏覽器行爲?

+0

Node by Node?這聽起來很乏味。也許犀牛?編輯:沒關係,Google Web Toolkit。無法保持這兩個直線。 –

+0

GWT仍將作爲客戶端JavaScript構建實際DOM的運營商。無論使用哪種服務器端組件,它只會作爲消息的發送者發送給客戶端,而客戶端則必須執行實際的工作。 – Anurag

+0

@Auurag - 爲什麼甚至讓瀏覽器擋道了?我會說建立一個擴展,例如,鉻。但是,這仍然可能會有一些Javascript糟糕的東西了。我想可能是在服務器上傳輸動作的視頻?這就是我們想要的感覺。 –

回答

0

爲什麼你不想使用JS是beyong me,因爲這是編輯dom的語言。

完成您的方案的最簡單方法是使用Jquery.ajax

對於解析/建設JSON我會推薦Google's Gson

你可以看一下here的小樣本。

相關問題