2013-09-26 70 views
0

填充我在其中的元素通過支柱填充的HTML表(<s:iterator>標籤)。代碼片段如下所示。如何實現HTML表格排序表時,通過Struts的

<table cellspacing="0" border="0" width="100%" class="select_table margin-top10" id="example_table"> 
     <thead> 
      <tr class="oddRows"> 
       <th width="300px" align="left">Column A</th> 
       <th width="150px" align="left">Column B</th> 
       <th width="120px"align="left">Column C</th> 
       <th align="left">Action</th> 
      </tr> 
     </thead> 
    </table> 
<div style="height:200px;" class="data_holder"> 
    <table class="select_table" cellspacing="0" cellpadding="0" border="0" style="width: 670px;"> 
     <tbody> 
     <s:iterator value="exampleList" status="searchResultStatus"> 
      <tr id="exampleRow-<s:property value="#searchResultStatus.index"/>" <s:if test="#searchResultStatus.even">class="oddRows"</s:if> > 
       <td id="sName<s:property value="#searchResultStatus.index"/>" width="295px"><span id="scheduleName<s:property value="#searchResultStatus.index"/>" class="ellipsis35" title="<s:property value="exampleName"/>"><s:property value="exampleName"/></span></td> 
       <td id="sType<s:property value="#searchResultStatus.index"/>" width="150px"><span id="sType<s:property value="#searchResultStatus.index"/>"><s:property value="exampleType" /></span></td> 
       <td id="sLevel<s:property value="#searchResultStatus.index"/>"><span id="sLevel<s:property value="#searchResultStatus.index"/>"><s:property value="exampleLevel" /></span></td> 
       <td width="10%"><div title="Click to select" id="select-contact-<s:property value="#searchResultStatus.index"/>" ><img id="select-contact-<s:property value="#searchResultStatus.index"/>" src="../images/popup-select.gif"></div></td> 
      </tr> 
     </s:iterator> 
     </tbody> 
    </table> 

如何在此表上實施排序?請幫忙!

+1

您可以使用jQuery的DataGrid與Struts2的JSON插件的實現,例如請參見http:// trirand。 COM /博客/的jqGrid/jqgrid.html 或使用圖書館像 [jmesa]:https://code.google.com/p/jmesa/或者 [displaytag]:http://www.displaytag.org/1.2/ –

+0

我想使用HTML表格本身。與上面給出的格式相同。雖然顯示標籤是一個選項,但我不想使用它。 –

+0

在上面的代碼中,你甚至沒有嘗試寫代碼。爲了更好地幫助越早,發佈[SSCCE(http://sscce.org) –

回答

1

可以使用Struts2的s:sort標籤做到這一點。

<s:sort comparator="your.impl.of.comparator" source="exampleList"> 
    <s:iterator status="searchResultStatus"> 
     <tr id="exampleRow-<s:property value="#searchResultStatus.index"/>" <s:if test="#searchResultStatus.even">class="oddRows"</s:if> > 
      <td id="sName<s:property value="#searchResultStatus.index"/>" width="295px"><span id="scheduleName<s:property value="#searchResultStatus.index"/>" class="ellipsis35" title="<s:property value="exampleName"/>"><s:property value="exampleName"/></span></td> 
      <td id="sType<s:property value="#searchResultStatus.index"/>" width="150px"><span id="sType<s:property value="#searchResultStatus.index"/>"><s:property value="exampleType" /></span></td> 
      <td id="sLevel<s:property value="#searchResultStatus.index"/>"><span id="sLevel<s:property value="#searchResultStatus.index"/>"><s:property value="exampleLevel" /></span></td> 
      <td width="10%"><div title="Click to select" id="select-contact-<s:property value="#searchResultStatus.index"/>" ><img id="select-contact-<s:property value="#searchResultStatus.index"/>" src="../images/popup-select.gif"></div></td> 
     </tr> 
    </s:iterator> 
</s:sort> 

your.impl.of.comparator了java.util.Comparator