2011-02-26 73 views
0

這似乎有點像Java Web開發的基本問題,但...AXAX刷新JSP或Spring MVC頁面的簡單方法?

我將如何去刷新JSP頁面中的數據?我的意思是,我得到的基本知識(使用jQuery的AJAX,Spring MVC的「控制器」&獲取數據請求)。我磕磕絆絆是什麼是最新的更新數據到頁面的最簡單的方法是什麼(假設,JSP是所有服務器端......這不利於客戶端更新)?

我認爲:

  • 在JavaScript中使用Mozilla Rhino的速度+ - 這似乎有點麻煩

  • 使用 「新」 春AJAX MVC改進 - 這似乎是例子有點讓我困惑。

  • 在Spring控制器中返回一個半呈現的字符串通過業務邏輯+速度獲取方法 - 我不確定這樣做是否「正確」,但構建起來感覺有點骯髒Controller類中的視圖對象。

有沒有簡單的方法來做我在問什麼?我基本上有一個需要重新填充間隔的HTML表。當然,我在這裏錯過了一些東西。

TIA

+0

相關:http://stackoverflow.com/questions/4112686/update-current-page-with-a-servlet犀牛至少是一個漂亮......瘋狂的考慮。 Rhino旨在能夠使用Java代碼解釋/執行JS代碼。但是,既然你正在開發一個web應用程序,爲什麼不讓JS運行在它應該運行的地方,在web瀏覽器中呢? – BalusC 2011-02-26 23:34:23

+0

@BalusC - 它有更多的用途。我使用Rhino的意圖是使用LiveConnect功能;你知道嗎?不是太瘋狂了嗎? – javamonkey79 2011-02-27 04:33:50

回答

2

我的建議是爲你想刷新的內容指定一個div。 以指定的時間間隔,從服務器重新加載包含新鮮內容的div。我會建議在服務器上生成html,然後只是jQuery('')。load()url。但是你也可以從服務器上獲取json數據並快速創建你的標記,但是這對於大量記錄來說是有問題的。 希望有所幫助。

1

關於在控制器中生成JSON或部分視圖,兩個選項均有效。如果要生成/修改的HTML不是太複雜,我會選擇使用JSON,並且我會選擇返回一個HTML片段用於刷新大表,或者加載新的複雜面板等。爲了生成JSON,我通常使用註釋爲@ResponseBody的bean返回類型的Spring MVC控制器方法。