在已呈现的JSP中通过ajax请求加载spring表单

时间:2013-11-22 04:06:59

标签: java ajax spring jsp spring-mvc

假设有一个JSP已经呈现给客户端。在这个Jsp上,我创建了一个链接,我希望这个链接向服务器发出请求,服务器从命令对象中发送一个弹簧,这个弹簧形式在客户端已经加载的页面上呈现。我的意思是我不希望加载整个页面。让我们看一下像我的页面上有链接'更新联系人详细信息'的情景。单击此链接会向服务器发出ajax请求,并从服务器发送spring表单,以便使用单击“更新联系人详细信息”链接的用户的联系详细信息填充表单。基本上我希望每次不必要地加载页眉和页脚之类的东西。

提前致谢。

1 个答案:

答案 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">