【问题标题】:Load spring form by an ajax request in already rendered JSP在已呈现的 JSP 中通过 ajax 请求加载 spring 表单
【发布时间】:2013-12-06 20:37:26
【问题描述】:

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

提前致谢。

【问题讨论】:

  • 你试过什么?

标签: java ajax spring jsp spring-mvc


【解决方案1】:

如果你有一个链接,

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

然后在你想要你的页面的地方添加&lt;div id="container"&gt;&lt;/div&gt;,也是一个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 代码将其加载到您的&lt;div id="container"&gt;

【讨论】:

  • 非常感谢 Vaibhav,只是 $('#container').load(response) 不起作用的一件事,因此我暂时使用了 append(response)。
  • 欢迎 Vikky,如果您想更改它,也可以尝试 ('#container').html(response)。
猜你喜欢
  • 2017-05-02
  • 2014-06-07
  • 1970-01-01
  • 2017-06-15
  • 1970-01-01
  • 1970-01-01
  • 2016-03-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多