Struts sortの使い方

2474 ワード

1  .ユーザー比較のクラスを書きます.
 
 
package com.zrb.feeapply.jxc.model;

import java.util.Comparator;

public class MyComparator  implements Comparator<Object>{
	public int compare(Object o1, Object o2) { 		  
		TjxcMonPrd mp1 = (TjxcMonPrd)o1 ;
		TjxcMonPrd mp2 = (TjxcMonPrd)o2 ;		  
		int ordernum1 =mp1.getTjxcProduct().getOrdernum();		
		int ordernum2 =mp2.getTjxcProduct().getOrdernum();		
		  // id 
		//  return xmxxBean1.getXMXXID() - (xmxxBean2.getXMXXID()); 
		  // 
		//mp1.getXMMC().compareToIgnoreCase(xmxxBean1.getXMMC());
		  return ordernum1 - ordernum2;
	} 
}

 
 2.Actionにユーザーソートのオブジェクトを追加する
 
    
private MyComparator myComparator;

....

  myComparator = new MyComparator();

....

public MyComparator getMyComparator() {
      return myComparator;
}

 
 
 
 
 3. jspのラベル
   
   
                    <s:sort source="forecast.tjxcMonPrds" comparator="myComparator">
                     <s:iterator status="status">                    
	 			 	<TR align="center">
						<TD height="25" align="left"  class="listline">${prdtype}</TD>
						<TD  class="listline">${prenum}</TD>                   
					</TR>   
                     </s:iterator>    
                    </s:sort> 

 
 
または(この場合はステップ2を無視できます)
 
                    <s:bean id="myComparator" name="com.zrb.feeapply.jxc.model.MyComparator"></s:bean>

                    <s:sort source="forecast.tjxcMonPrds" comparator="myComparator">
                     <s:iterator status="status">                    
	 			 	<TR align="center">
						<TD height="25" align="left"  class="listline">${prdtype}</TD>
						<TD  class="listline">${prenum}</TD>                   
					</TR>   
                    </s:iterator>    
                    </s:sort>