Spring MVC-打开新页面而不重新加载


问题内容

我有一个使用Sring
MVC和Sitemesh设置的小应用程序。当我单击链接,表单等时,我希望它在不重新加载整个decorator页面的情况下打开新页面,仅是decorator:body部分。有没有简单的方法可以做到这一点?


问题答案:

唯一的方法是使用AJAX来获取页面部分而无需重新加载整个页面

更新(04/05/2011):

使用JQuery for AJAX。

控制器:

@RequestMapping(value = "/myapp/getpart", method = RequestMethod.GET)
public String getPart(Model model) {
  //...do something
  model.addAttribute("myObject", myObject);
  return "getPart";
}

视图:

<div id="container">
</div>
<a id="myAnchor">get page part</a>

<script>
  $(document).ready(function(){
    $('#myAnchor').click(function(e){
      e.preventDefault();
      $.get('/myapp/getpart', function(data) {
        $('#container').html(data);
        alert('Data was fetched.');
      });
    });
  });
</script>