2011-11-28 23 views
0

我已查找並搜索了幾個小時,但找不到任何易於理解的內容。我必須做一件容易的事情。如何使用AJAX -JSON保持JSP中的數據更新?

所以,我有一個Java類,有一個「服務」對象與一個int變量「lastCustomer」的地圖。 這個值發生了變化,我怎樣才能保存更新的數據在我的「顯示」頁面(不刷新它)?

假設使用AJAX,Javascript和所有這些東西,但不知道如何。

編輯:

好吧,也許我提出。仍然停留在「解析」上。現在我寫了一個servlet來獲取數據並用「/ display/something」打印頁面中的所有內容。現在,我如何通過jQuery訪問它?

基本上我有一個對象列表(非常對象有一個動態值)。 我必須打印對象並不斷更新值。

順便說一句,JSON字符串爲我提供了從servlet不更新自身,它需要刷新。我想我錯過了一些基本的東西。

一些代碼:

@WebServlet("/JsonServices") 
public class JsonServices extends HttpServlet { 

    private static final long serialVersionUID = 1L; 

    public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException { 


     Gson gson = new Gson(); 
     String json = gson.toJson(myClass.services()); 

     response.setContentType("application/json"); 
     response.getWriter().println(json); 
    } 
} 
+0

只是看看一些AJAX教程。在那裏或在這裏有足夠多的東西。我建議你看看[jQuery](http://jquery.com),因爲這是迄今爲止最容易使用的AJAX庫。 –

+0

您目前的問題尚不清楚。這是ajax輪詢嗎?還是解析接收到的JSON?後者實際上屬於另一個問題。 – BalusC

+0

我想都是。第一個問題是更新數據:當我刷新頁面時,servlet向我發送JSON字符串,如何在不刷新的情況下獲得新數據? 之後,我有我的JSON字符串。問題是如何使用頁面上打印的數據.. [我認爲應該很容易使用它們:gson.fromJson(數據),這就是對象] – Enrichman

回答

2

其實你需要一個長輪詢的解決方案。它會在事情發生變化時觸發你。 但你可以用ajax做一些熟悉的事情。

function refresData(){ 
     $.ajax({ 
     url: "serverurl", 
     type: "GET" 
     success: function(data){ 
     //it will be your json or xml 
     } 
    }); 
    } 

var refreshInterval = setInterval(refreshData, 30 * 1000);//30 seconds 
refreshData();