eda*_*lij 5 java jsp struts2 jquery-pagination struts2-jquery
如何在Struts 2中实现客户端显示的分页和Hibernate作为持久层.
这是我到目前为止所做的代码:
<display:table id="students" name="students" pagesize="2"
export="false" requestURI="/student">
<display:column property="studentRoll" title="Roll"
paramId="studentRoll" sortable="true" />
<display:column property="studentName" title="Name" sortable="true" />
<display:column property="studentCourse" title="Course"
sortable="true" />
<display:setProperty name="paging.banner.placement" value="bottom" />
</display:table>
Run Code Online (Sandbox Code Playgroud)
有没有办法在没有display标签的情况下实现这个?
有一种方法可以实现它,我会给你一些建议。可能不是您正在寻找的,但使用显示标签,我真的怀疑您是否可以实现一些不关心说这个词的东西。显示标签是一个为简化网络上表格数据的表示而创建的库,并且已经足够老了,可以将它与 Ajax 等现代技术和基于组件的脚本库(如 jQuery 等)一起使用。即使我已经看到显示标签 ajaxified 但我看到这只不过是给有问题的架构增加了复杂性。需要在此处添加显示标签库的性质,它是基于属性的。创建它的目的是为了简化当时的使用或开发过程。如今,人们不再用定制和丑陋的解决方案来限制自己。
现在看看代码,如果我可以说这是一个代码,标签代表带有行和列的表格,可以使用标签、标题、其他 HTML 属性,甚至使用 CSS 来自定义它们,但这不是这个问题。
属性名称代表变量,数据结构代表表格数据。它可以是列表的列表或一组对象,并不重要。它可以是可迭代的并且具有行和列,这是怎么回事。
属性pagesize指向每页的记录数。
给定的 URI 甚至不记得从服务器提供数据是什么或者只是为了转义。
标签末尾附近是横幅位置,通过属性设置。因此,您甚至不必使用它来实现任何代码,只需设置自定义属性即可。
现在,要在 Struts2 中表示带有数据的表,有一个
<s:iterator var="row" begin="0" value="#request.navigator.list">
Run Code Online (Sandbox Code Playgroud)
标签、列表students或其他内容并不重要。navigator是类似于display标签中的banner的对象,但这里不是组件。带有按钮的组件导航器我将在稍后描述。
在迭代器内,您可能有代表行的任何内容。但这是不可能的。
例如,导航器作为组件可以以不同的方式给出
<s:property value="#request.navigator.bar" escapeHtml="false"/>
Run Code Online (Sandbox Code Playgroud)
然后列表中的数据是通过 SQL 或 HQL 或 Criteria API 从数据库中获取的,这并不重要。这是分两步完成的。首先检查希望返回的记录总数。它提供了在末尾移动且不超过页面大小的可能性。然后返回在页面上表示所需的有限行数。这些都是在显示表格的操作中完成的。该操作需要两个参数:第一行和页面大小。如果记录总数发生变化,这也需要纠正导航器。
这就是我想回答的关于如何实现页面导航逻辑的问题。我尽量不写很多很多代码,因为这是毫无疑问的。
| 归档时间: |
|
| 查看次数: |
9429 次 |
| 最近记录: |