2013-11-22 37 views
1

假設有一個已呈現給客戶端的JSP。在這個Jsp上,我創建了一個鏈接,我希望這個鏈接向服務器發出請求,並且服務器通過其中的命令對象發送一個彈簧,並且這個彈簧形式在客戶端已經加載的頁面上呈現。我的意思是我不希望整個頁面被加載。讓我們看看我的網頁上有鏈接「更新聯繫人詳細信息」。點擊此鏈接向服務器發送ajax請求,並從服務器發送spring表單,以填充單擊「更新聯繫人詳細信息」鏈接的用戶的聯繫人詳細信息。基本上我不希望每次都不必要地加載頁眉和頁腳之類的東西。通過已經呈現的JSP中的ajax請求加載彈簧窗體

在此先感謝。

+0

你試過了什麼? –

回答

6

,如果你有一個鏈接的,

<a id="screenId" href="#"> 

再加入<div id="container"></div>某處你想讓你的頁面,也有JS功能,

$('#screenId').click(function() { 
    $.ajax({ 
     type: "GET", 
     cache: false, 
     url: "yourControllerURL", 
     data: "", 
     success: function(response){ 
      $('#container').html(response); 
     } 
    }); 
}); 

上述Ajax調用,您的控制器內,用命令對象返回你的jsp。控制器代碼可能看起來像這樣。

@RequestMapping(value="yourControllerURL") 
public String includeAnotherJSP(ModelMap model) { 
    model.addAttribute("commandObjectName", commandObject); 
    return "yourJSPMapping/jspName"; 
} 

後您的控制器將發送響應,你會得到所需要的JSP的響應裏面,然後你可以使用上面的JS代碼加載到您的<div id="container">

+0

非常感謝Vaibhav,只是$('#container').load(response)不起作用的一件事,因此我暫時使用append(response)。 – Vikky

+2

歡迎Vikky,如果你想改變它,你也可以嘗試('#container').html(響應)。 – VPK