小编典典

在已经渲染的JSP中通过ajax请求加载spring表单

jsp

假设有一个已呈现给客户端的JSP。在此Jsp上,我创建了一个链接,我希望该链接向服务器发出请求,并且服务器从中发送带有命令对象的spring,并且该spring表单将在客户端已加载的页面上呈现。我的意思是我不想加载整个页面。让我们设想一种情况,例如我的页面上有“更新联系人详细信息”链接。单击此链接向服务器发出ajax请求,并从服务器发送spring表单,以便在表单中填充单击“更新联系人详细信息”链接的用户的联系详细信息。基本上,我希望每次都不必不必要地加载诸如页眉和页脚之类的东西。

提前致谢。


阅读 351

收藏
2020-06-08

共1个答案

小编典典

如果您有一个链接为

<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,然后可以<div id="container">使用上述js代码将其加载到您的JSP中。

2020-06-08