有没有与SpringMVC兼容的UI框架?

有没有与SpringMVC兼容的UI框架?,spring,jsp,spring-mvc,user-interface,pagination,Spring,Jsp,Spring Mvc,User Interface,Pagination,我最近正在学习SpringMVC,我对它是多么容易实现一些常见的事情印象深刻,比如分页。例如,我有这样一个控制器方法: @RequestMapping(value="/showAllItems") public String showAllItems(Model model, Pageable pageable) { model.addAttribute("itemPage", itemService.getAllItems(pageable)); return ViewNa

我最近正在学习SpringMVC,我对它是多么容易实现一些常见的事情印象深刻,比如分页。例如,我有这样一个控制器方法:

@RequestMapping(value="/showAllItems")
public String showAllItems(Model model, Pageable pageable) {

    model.addAttribute("itemPage", itemService.getAllItems(pageable));

    return ViewNamesHolder.SHOW_ALL_ITEMS;
}
虽然Spring通过创建这个可分页对象在后端为我们提供了难以置信的支持,但据我所知,目前还没有任何UI框架在前端支持这种Spring对象。在编写了这个完美的简单控制器方法之后,我们再次在前端单独讨论如何显示这个可分页对象

例如,有引导。界面很漂亮,功能很好。本文是一个很好的示例,说明了如何将Spring MVC与Bootstrap集成:

问题是,我们仍然需要编写大量代码。这是上面文章中的jsp示例,它最后只生成一个分页条:

<!-- Pagination Bar -->
<div th:fragment='paginationbar'>
  <div class='pagination pagination-centered'>
    <ul>
      <li th:class='${page.firstPage}? 'disabled' : '''>
        <span th:if='${page.firstPage}'>← First</span>
        <a th:if='${not page.firstPage}' th:href='@{${page.url}(page.page=1,page.size=${page.size})}'>← First</a>
      </li>
      <li th:class='${page.hasPreviousPage}? '' : 'disabled''>
        <span th:if='${not page.hasPreviousPage}'>«</span>
        <a th:if='${page.hasPreviousPage}' th:href='@{${page.url}(page.page=${page.number-1},page.size=${page.size})}' title='Go to previous page'>«</a>
      </li>
      <li th:each='item : ${page.items}' th:class='${item.current}? 'active' : '''>
        <span th:if='${item.current}' th:text='${item.number}'>1</span>
        <a th:if='${not item.current}' th:href='@{${page.url}(page.page=${item.number},page.size=${page.size})}'><span th:text='${item.number}'>1</span></a>
      </li>
      <li th:class='${page.hasNextPage}? '' : 'disabled''>
        <span th:if='${not page.hasNextPage}'>»</span>
        <a th:if='${page.hasNextPage}' th:href='@{${page.url}(page.page=${page.number+1},page.size=${page.size})}' title='Go to next page'>»</a>
      </li>
      <li th:class='${page.lastPage}? 'disabled' : '''>
        <span th:if='${page.lastPage}'>Last →</span>
        <a th:if='${not page.lastPage}' th:href='@{${page.url}(page.page=${page.totalPages},page.size=${page.size})}'>Last →</a>
      </li>
    </ul>
  </div>
</div>

  • ← 弗斯特
  • «
  • 1.
  • »
  • 最后→
多亏了作者,这个JSP页面才可以重用。但我们仍然需要能够自动处理这类事情的框架,这就是我所说的SpringMVC兼容框架。前端应该是这样的,它几乎自动处理分页:

<div springUI:fragment='paginationbar' springUI:object='itemPage'/>

可能带有一些附加属性,如First和LastButtonSVisible或currentPageDisabled等

对于上面的例子,由于我们在objectitempage中有我们需要的所有信息(pageCount等),这种简单性(或几乎)是可能的


现在我又问了一个问题,是否有一个与SpringMVC非常兼容的UI框架?

看看SpringRoo()。它使用某种自行编写的基于jsp的标记库。

您可以使用。您需要在
org.displaytag.pagination.PaginatedList
的实现中包装列表和分页。然而,这几乎就是您所需要的displaytag和spring之间的“桥梁”。

也许您正在寻找这样的方法-


在那篇文章中,它使用Spring MVC controller无缝地处理ZK UI组件。

如果这么简单,难道所有的脚本小子都不会有我们的工作吗?这个网站不是推荐库或工具的。但如果找不到,为什么不发明自己的JSP标记来处理分页呢?我已经创建了一个。对我来说,这听起来很奇怪,班肯有这么多创意图书馆,对前端没有任何影响。将来我们肯定会有类似上面例子的东西。也许我们已经有了。如果我们已经有了,我想知道在哪里。此外,我的问题是关于“SpringMVC兼容UI框架”,而不是分页本身。这只是我的意思的一个例子。正如我所说的,我现在有分页功能,但将来我肯定会对这种spring对象有类似的需求,我也想在前端使用。谢谢。请注意
*.tagx
文件哇,这是一篇非常棒的新文章。我已经使用SpringMVC+JSP+JQuery构建了一个CMS后端,最后得到了一个混乱的结果。来自客户端js和jsp生成的js的代码让我的团队中的其他新手感到困惑。所以我认为这是一个好主意,以防止得到混乱。