Java 如果使用<;t:列>;在JSF中?
我正在学习tomahawk,我只想知道我是否使用Java 如果使用<;t:列>;在JSF中?,java,jsf,tomahawk,Java,Jsf,Tomahawk,我正在学习tomahawk,我只想知道我是否使用生成一个数据表,然后如何在点击特定列的标题时对数据表进行排序,就像我们在普通属性中使用的一样。请帮忙。一种可能是使用jQuery插件排序。看 另一种方法是使用t:dataTable和t:commandSortHeader如您所述 <t:dataTable id="data" value="#{BACKINGBEAN.DATA}" var="item" ... sortable="true" rows="10"> 使
生成一个数据表,然后如何在点击特定列的标题时对数据表进行排序,就像我们在普通
属性中使用的
一样。请帮忙。一种可能是使用jQuery插件排序。看
另一种方法是使用t:dataTable和t:commandSortHeader如您所述
<t:dataTable
id="data"
value="#{BACKINGBEAN.DATA}"
var="item"
...
sortable="true"
rows="10">
使用t:datatable,您实际上不需要t:commandSortHeader,除非您想自定义它用于排序的属性 以下是使其正常工作所需的:
<h:form>
<t:dataTable
id="data"
value="#{BACKINGBEAN.DATA}"
var="item"
sortColumn="#{BACKINGBEAN.sortColumn}"
sortAscending="#{BACKINGBEAN.sortAscending}">
使用默认的getter/setter/lombok。它们只是为了让标记可以设置数据
这是一个很好的参考:
但是它忽略了关于支持bean属性的讨论,而且即使没有任何表单元素,也需要将其包装在
中。感谢您告诉jQuery中的可能性,但我想在没有它的情况下尝试一下,我的怀疑是,即使将其放入its中,也只能根据第一列进行排序,而不是单独的列。是的,你是对的。我猜,在检索列表之前,您需要在SQL端执行此操作。您需要按some1 some2排序
apache wiki也没有提到当您的bean是@RequestScoped
<t:column defaultSorted="true" sortable="true">
<f:facet name="header">
<h:outputText value="header text"/>
</f:facet>
<h:outputText value="#{item.property}" />
</t:column>
</t:dataTable>
</h:form>
private String sortColumn;
private boolean sortAscending;