struts2 iterator排序
因为存入数据库的数据可能不是按照我们想要的方式存进去的。这就导致取出来的时候,不是按照我们想要的方式排序。这时候就要利用struts2的iterator排序功能,按照我们想要的顺序排列。
首先。一个付款类。PayDetail
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private long id;
/** 序号 */
@Column
private int sNum;
/**付款类别。rent租金。carDeposit车辆押金,peccancyDeposit违章押金*/
@Column
private String type="rent";
/** 付款时间 */
@Temporal(TemporalType.TIMESTAMP)
private Date paymentTime;
/** 帐期付款时间 */
@Temporal(TemporalType.TIMESTAMP)
private Date paymentDaysDate;
/** 业务区间开始日期 */
@Temporal(TemporalType.TIMESTAMP)
private Date between1;
/** 业务区间结束日期 */
@Temporal(TemporalType.TIMESTAMP)
private Date between2;
/** 付款比例 */
@Column
private float paymentScale = 0;
/** 付款金额 */
@Column
private int paymentAmount = 0;
/**实际付款时间*/
@Temporal(TemporalType.TIMESTAMP)
private Date parctitalDate;
/**实际付款金额*/
@Column
private int parctitalMoney=0;
/**欠款金额*/
@Column
private int debt=0;
/**付款单*/
@OneToMany(mappedBy="payDetail",cascade=CascadeType.ALL,fetch=FetchType.EAGER)
private Set<Paying> pays;
@ManyToOne
private DetailPayment dp;
类之间的关联关系是如下图,其他的类就不贴出来了

通过action查询出Contract.下面是JSP展现页面。相关注解都写在JSP页面上了。
<!--所需要的Contract的集合类-->
<s:iterator value="#cs">
<tr>
<th>三</th>
<td colspan="8" style="text-align:left;">合同收入款付款(<s:property value="contractNum"/>)</td>
</tr>
<tr>
<th>序号</th>
<th>合同付款时间表</th>
<th>账期</th>
<th>付款金额</th>
<th>实际付款时间</th>
<th>实际付款金额</th>
<th>余额</th>
<th>滞纳金</th>
<th>付款单号</th>
</tr>
<!--<s:bean>是配置自己所写的排序类。并定义ID让下面的<s:sort>调用 -->
<s:bean name="util.MyComparator" id="myComparator"></s:bean>
<!--按照ID调用上面所定义的排序类。这里的source就是指的数据源,也就是要循环的数据。这里指的是contract.detailPayment.payDetail 这是一个付款集合-->
<s:sort comparator="myComparator" source="detailPayment.payDetail">
<!--这里给iterator起一个ID。进行下面的属性输出。-->
<s:iterator id="pd">
<tr>
<th><input type="checkbox" name="checkbox" id="checkbox" /><s:property value="#pd.sNum"/></th>
<td><s:date name="#pd.paymentTime" format="yyyy年MM月dd日"/></td>
<td><s:property value="#c.detailPayment.paymentDays"/>天</td>
<td><a href="javascript:void(0);" onclick="PopupD();"><s:property value="#pd.paymentAmount"/></a> 元</td>
<td>--</td>
<td>--</td>
<td>--</td>
<td>0元</td>
<td>--</td>
</tr>
</s:iterator>
</s:sort>
</s:iterator>
下面是我们自己的排序类myComparator。根据自己想要的排序顺序写出排序类。然后在JSP页面进行调用。
public class MyComparator implements Comparator<PayDetail> {
public int compare(PayDetail o1, PayDetail o2) {
return o1.getSNum()-o2.getSNum();
}
}
struts2 iterator排序的更多相关文章
- Struts2 iterator标签实现嵌套循环
问题:有一个List<List<Object>> list用struts2在页面显示使用<s:iterator value=”list” var=”list1″> ...
- struts2 iterator 迭代标签只显示前五条记录
<s:iterator value="#session.produceLists" var="produce" begin="0" e ...
- 总结struts2 iterator status的用法
1:#status.odd 是否奇数行 2:#status.count 当前行数 3:#status.index 当前行的序号,从0开始『#status.count=#status.index+1』 ...
- struts2官方 中文教程 系列十二:控制标签
介绍 struts2有一些控制语句的标签,本教程中我们将讨论如何使用 if 和iterator 标签.更多的控制标签可以参见 tags reference. 到此我们新建一个struts2 web 项 ...
- Spring MVC之适配器的获取及执行(RequestMappingHandlerAdapter)
首先看下doDispatch()方法如何找到适合的适配器来执行方法的: protected HandlerAdapter getHandlerAdapter(Object handler) throw ...
- 2018-2019-2 《Java程序设计》第8周学习总结
20175319 2018-2019-2 <Java程序设计>第8周学习总结 教材学习内容总结 本周学习<Java程序设计>第十五章: 泛型: 泛型(Generics)的主要目 ...
- 20175324 2018-2019-2 《Java程序设计》第8周学习总结
本周学习<Java程序设计>第十五章: 泛型: 泛型(Generics)的主要目的是可以建立具有类型安全的集合框架,如链表.散列映射等数据结构. 泛型类声明:class 名称<泛型列 ...
- 20175303 2018-2019-2 《Java程序设计》第8周学习总结
20175303 2018-2019-2 <Java程序设计>第8周学习总结 教材学习内容总结 本周学习<Java程序设计>第十五章: 泛型: 泛型(Generics)的主要目 ...
- 20175224 2018-2019-2 《Java程序设计》第八周学习总结
教材学习内容总结 第十五章 泛型与集合框架 泛型 泛型:目的为建立具有类型安全的集合框架. 泛型类声明:class People<E> class 名称<泛型列表> 链表 定义 ...
随机推荐
- mac操作快捷键
- Apache-Commons包作用说明
Apache Commons包含了很多开源的工具,用于解决平时编程经常会遇到的问题,减少重复劳动.项目地址http://commons.apache.org/ Commons BeanUtils 提供 ...
- JS基本语法
1.JS嵌入网页的程序 2.解释型语言--用浏览器解释(必须需要浏览器),一开始是数据验证(编程语言) 7天开发 3.ECMA标准化 4.JS与JAVA没有任何关系 JS增加用户的交互 5.JS有常量 ...
- HDU 5024 Wang Xifeng's Little Plot (DP)
题意:给定一个n*m的矩阵,#表示不能走,.表示能走,让你求出最长的一条路,并且最多拐弯一次且为90度. 析:DP,dp[i][j][k][d] 表示当前在(i, j)位置,第 k 个方向,转了 d ...
- Create My MySQL configuration by Percona
本文地址:http://www.cnblogs.com/yhLinux/p/4013065.html https://tools.percona.com/ Percona是一款在线自动生成MySQL配 ...
- UVALive 3942 Remember the Word(字典树+DP)
题目链接:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_ ...
- Java小应用程序Applet,画布上新建按钮和文本
<pre name="code" class="java">package com.hx; import java.applet.*; import ...
- postgresql 配置文件优化
postgresql 配置文件优化 配置文件 默认的配置配置文件是保存在/etc/postgresql/VERSION/main目录下的postgresql.conf文件 如果想查看参数修改是否生效, ...
- WinRAR安装、破解与去除弹窗广告
本教程教大家怎么破解WinRAR压缩软件和去除广告(教程属于总结类,总结网上给出的方法,并且亲测有效,非本人原创)WinRAR5.40 2016.10.06 首先下载WinRAR软件,去它的官方英文网 ...
- 如果我用C#来输出99表
题目:参见这个链接,简单点说就是在控制台输出一个99乘方表. 无聊想了个C#版本的解答: private static void Print(int n) { var s = Enumerable.R ...