2014-02-18 61 views
0

我需要Jquery和相應的js和css文件來在servlet文件之間切換。需要jquery在3個servlet頁面之間切換

例如:我有3個servlets Myservlet1.java,myservlet2.jave & myservlet3.java每個都顯示一個表值。我需要Jquery在servlets之間切換,比如myservlet顯示20秒,然後myservlet2顯示20秒,然後myservlet3顯示20秒。

該開關應該是自動的。我對Jquery完全陌生,而且我很快需要立即使用代碼。

在此先感謝!

我在相應的java文件中顯示3個表的結果。在表中的頁面值將顯示在servlet中。現在我需要每1分鐘切換一次servlet,以便在特定的時間間隔內顯示3個表的記錄。

+0

你應該可以通過遞歸調用的setTimeout以一個url數組,一個當前索引和一個ajax調用來簡單地完成這個任務。 –

+0

我不會以遞歸方式調用函數 - 雖然它非常優雅 - 它最終會吃掉所有堆棧。我的想法幾乎是相同的一系列網址,您可以通過ajax獲取數據,計數器遞增模3,以便在servlet和使用setInterval調用的函數之間切換,該函數從url數組的第i個值執行獲取作業。 –

+0

@DanielVoina可能遞歸地是錯誤的詞。但是'function myFunction(){setTimeout(function(){myFunction();},1); }'不會增加調用堆棧的大小。使用setInterval將取決於你想要的行爲。如果ajax調用本身需要大量的時間並且間隔足夠低,那麼你可能會遇到問題。 –

回答

0

您需要使用jQuery load-帶回調函數,併爲每個回調函數執行setTimeout 。該代碼會是這個樣子(我沒有測試過):

var delayTime = 20 * 1000; 

// Wait on servlet 1 
setTimeout(function() { 
    $("#content").load("myservlet2.java", function() { 
     // Wait on servlet 2   
     setTimeout(function() { 
      $("#content").load("myservlet3.java", function() { 
       // Servlet 3 loaded 
      }); 
     }, delayTime); 
    }); 
}, delayTime); 

這將加載該頁面的HTML元素中id爲content。但是,這似乎不是一個好方法。也許你可以更好地解釋你想達到的目標?

+0

感謝您的回覆。我在相應的java文件中顯示了3個表的結果。因此,頁面每隔10分鐘刷新一次,以便更新後的值將顯示在servlet中。現在我需要每1分鐘切換一次servlet,以便顯示3個表格的最後10分鐘記錄 – user3212324

+0

我不熟悉Java servelets,所以我可能誤解了你,但據我瞭解,你需要三在每次刷新前每隔10分鐘在一個網頁上顯示不同的表格?您應該一次加載所有三個,在這些表中的網頁上分發返回值,並在10分鐘後再次執行。 – bvx89