2013-07-25 94 views
0

我有一個基於spring和JSP的spring MVC應用程序,用於在Web頁面上顯示某個日期。我的控制器最初看起來像這樣。如何在渲染視圖之前預加載java方法

public class MyController { 
    public ModelAndView visualizeData() { 
     List myList = MyClass.getMyList(); 
     return new ModelAndView("myurl", "myList", myList); 
    } 
} 

現在我想要拆分此ModelAndView方法,因爲如果它能夠在用戶點擊/myurl時所執行的MyClass.getMyList()是緩慢的。我希望它在用戶點擊/myurl之前默默執行,取數myList並在數據呈現之前存儲在客戶端的緩存中,以便用戶不會感覺到顯示myList的延遲。我怎樣才能做到這一點?

+0

我們知道用戶會點擊'/ myUrl'? –

+0

這裏只有兩個按鈕,一個是下載數據,另一個是可視化數據,很可能用戶首先想要顯示數據,但這不是關於我的問題無論如何 – kevinlu

回答

2

我會在這裏使用AJAX。有一個簡單地呈現頁面的動作(即,當他們點擊/myurl,然後使用onload事件與AJAX一起單擊操作(可能是/myurl/getList),然後加載列表並將其作爲JSON返回。

+0

非常感謝您的建議仍然有一個問題,我怎麼能在用戶點擊'/ myurl'來呈現頁面之前預加載數據,如果我按照您的建議這樣做? – kevinlu