我正在使用 JSP displaytag标记库来创建 HTML 表格。我希望用户能够单击列标题以对数据进行排序。我的 JSP 代码如下所示:
<display:table name="tableData" id="stat" sort="page">
<display:column property="name" title="Name" sortable="true"/>
<display:column property="age" title="Age" sortable="true"/>
</display:table>
我认为这会导致数据在客户端(在 JavaScript 中)进行排序,但它实际上所做的是在列标题上创建一个返回服务器的损坏超链接。
是否可以使用 displaytag 在客户端对数据进行排序?如果是,怎么办?
干杯, 唐
最佳答案
据我所知,这是不可能的。 JQuery 的表排序器可能适用于它用于其示例的小表,但大多数表必须来自实际数据库。这种命中率太大,无法在将此信息返回给客户端之前简单地检索所有数据,然后对其进行排序。
Displaytag 的标签有一个“requestURI”元素,允许其请求转到您配置的 url 处理程序。
所以,如果你使用这个:
<display:table requestURI="yourUrlMappedController.yourExtension" ...>
这将允许从您的 Controller 再次检索数据的权宜之计解决方案。
不过,最终,您最终会希望制定出一种策略,该策略使用 displaytag 排序参数作为“order by”子句中的选项,并从数据库中分页数据,而不是一次性提取所有数据。这是一件棘手的事情,但就性能而言,前期的努力是非常有益的。
displaytag 网站有三件事你应该经常检查以供引用,只是放在一边。 Tag Reference , Configuration Guide当然还有他们的(可下载)Live Examples.
关于java - 使用 displaytag JSP 选项卡库对 HTML 表格进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/267071/