//************************* JavaBean *************************// abstract class ISort implements java.io.Serializable { abstract public void sort( int[] array ); public static ISort makeSorter() { return new SortServer(); } } class SortServer extends ISort { public void sort( int[] array ) { for (int g = array.length/2; g > 0; g /= 2) for (int i = g; i < array.length; i++) for (int j = i-g; j >= 0; j -= g) if (array[j] > array[j+g]) { int temp = array[j]; array[j] = array[j+g]; array[j+g] = temp; } } } public class SortBean implements java.io.Serializable { private int[] array; private ISort sorter = ISort.makeSorter(); private java.util.Random rn = new java.util.Random(); public SortBean() { System.out.println( "SortBean ctor" ); } public void setArray( String dummyArgument ) { System.out.println( "setArray() - " + dummyArgument ); array = new int[ rn.nextInt(10) + 5 ]; for (int i=0; i < array.length; i++) array[i] = rn.nextInt(20) + 1; } public String getArray() { StringBuffer sb = new StringBuffer(); for (int i=0; i < array.length; i++) sb.append( array[i] + " " ); return sb.toString(); } public int getLength() { return array.length; } public void sort() { sorter.sort( array ); } } //************************* JSP *************************// Sort JSP Unsorted array of <%= beanObjName.getLength() %> numbers -
<% beanObjName.sort(); %> Sorted array of <%= beanObjName.getLength() %> numbers. ---