您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Spring MVC Ajax重新呈现用户界面重复

Spring MVC Ajax重新呈现用户界面重复

首先,Spring MVC非常灵活。您可以具有返回视图引擎生成的HTML的后端处理程序,也可以具有返回JSON / XML / ProtocolBuffers / etc的处理程序。并使用客户端渲染引擎(如Mustache等)在浏览器中显示页面,或者您可以将两者合并在同一应用程序中。

如果您想在服务器上生成HTML,Spring MVC允许您使用不同的模板引擎来做到这一点。您可以使用JSP,Freemarker,VeLocity等。为此,它使用ViewResolver抽象,并且在您的代码中,您只需要处理ModelAndView API。

有关ViewResolver的更多详细信息,可以在这里找到:http ://static.springsource.org/spring/docs/3.0.x/reference/mvc.html

根据您的问题,听起来您拥有使用JSP创建html服务器端的后端。为了仅更新表而不在用户单击刷新按钮时重新加载整个页面,例如,可以有一个仅返回html表的处理程序,如下所示:

@RequestMapping("/table")
public ModelAndView renderTable() {
   List<People> people = peopleService.findAllPeople();
   return new ModelAndView("/people", "people", people);
}

我还假设您有另一个处理程序,该处理程序返回通过ajax嵌入表的主页。

<body>
    ...
    /* Content of div will be populated via ajax*/
    <div id="myTableContainer" />
    ...
</body>

用于此的javaScript类似于:

$(function() {

  var myTableContainer = $("#myTableContainer");

  var renderTable = function(container) { 
    $.get("/table", function(data) {
      container.empty().html(data);
    }
  };

  /* This is called on document ready */
  renderTable(myTableContainer);

  /* Use the same renderTable function when the refresh button is clicked */
  $("#refreshButton").click(function() {
      renderTable(myTableContainer);
  });
}
Java 2022/1/1 18:14:24 有491人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶