JSP inner class for sorting

從沒想過在 JSP 內使用 Inner Class,
其實我一直把 JSP 想成跟 HTML 同等級, 做UI Display 用,
忘了它本身也是 JAVA 的一部分, 也可以寫 Inner Class.
話說客戶要求在顯示資料時依特定欄位排序,
但又不希望動到現有的 Class,
要求在 JSP 頁面內達到此需求.
Data format is List<String[]>,
根據需求先排 String[5], 再排 String[0], 最後 String[1],
在 JSP 可宣告一個 Inner Class implements Comparator interface:
<%!
class CompareObjs implements Comparator<String[]> {
  public int compare(String[] obj1, String[] obj2) {

    int rnt = 0;
    if ((rnt = obj1[5].compareTo(obj2[5])) == 0) {
      if ((rnt = obj1[0].compareTo(obj2[0])) == 0) {
        return obj1[1].compareTo(obj2[1]);
      }
    }
    return rnt;
  }
}
%>

<%
......
Collections.sort(dataList, new CompareObjs());
......
%>
列出 dataList,
結果就會照特定的方式排序了…

Continue reading JSP inner class for sorting

Advertisements