大家见贴好,小弟被一个问题困惑了好几天,望各位高手能不吝赐教,小弟将不胜感激,问题是这样的:我做的是一个会计系统,其中会计凭证表有一个要求,就是每个表只能只能显示5行记录,如有超过5行记录的话则在另一个表中显示,并且注明是续上一个凭证编号的记录,若不足5行则在一个表中作显示,并且考虑分页显示...其显示凭证的代码如下:
<%@ page language="java" contentType="text/html; charset=GB18030"
pageEncoding="GB18030"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jstl/fmt" %><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head></head>
<body><br>
<c:forEach items="${voucherHeads}" var="voucherHead">
<table width="846" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td colspan="2"><div align="center">记账凭证</div><br></td>
</tr>
<tr>
<td colspan="2"><div align="center">================================================</div></td>
</tr>
<tr>
<td colspan="2"><div align="center"> (Data) </div></td>
</tr>
<tr>
<td><div align="right">SAP凭证号:</div></td>
<td>${voucherHead.sapCertificateId }</td>
</tr>
<tr>
<td width="633"><div align="right">凭证编号 NO.</div></td>
<td width="213">${voucherHead.certificateId }</td>
</tr>
</table>
<table width="846" border="1" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="228" rowspan="2"><div align="center">摘要<br>
Explanation </div></td>
<td width="148" rowspan="2"><div align="center">科目名称<br>
Account subject </div></td>
<td width="148" rowspan="2"><div align="center">外币金额 <br>
For.Cur Amount </div></td>
<td width="99" rowspan="2"><div align="center">汇率<br>
Exc.Rat </div></td>
<td colspan="2"><div align="center">金额 Amount </div></td>
</tr>
<tr>
<td width="105" height="29"><div align="center">借方Debit </div></td>
<td width="104"><div align="center">贷方 Credit </div></td>
</tr>
<c:forEach items="${voucherHead.vocherBodys}" var="vocherBody">
<tr> //把凭证编号相同的记录在一个表中作输出(如多于5行在另一表中输出.)
<td> ${vocherBody.abstractMsg }</td>
<td> ${vocherBody.accountsubjects.sapId }${vocherBody.accountsubjects.ledgerSubjecName }</td>
<td> </td>
<td> </td>
<td>${vocherBody.debitAmoun }</td>
<td>${vocherBody.loanAmount }</td>
</tr>
</c:forEach>
<tr>
<td colspan="4"><div align="center">合计 (Total): </div></td>
<td> </td>
<td> </td>
</tr>
</table>
<p>
<table width="846" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="95"><p align="center">登帐员<br>(Manager):</p>
</td>
<td >${voucherHead.fill }</td>
<td width="95"><div align="center">复核<br>
(Checked):</div></td>
<td> </td>
<td width="95"><div align="center">制单<br>
(Prepared):</div></td>
<td >${voucherHead.make }</td>
<td width="95"><div align="center">出纳<br>
(Cashier):</div></td>
<td> </td>
</tr>
</table>
<p><p>
</c:forEach>
</body>
</html>
现在的问题是所有同一个凭证编号的记录在同一个表中显示出来的.....望有高手指教,请加我Q:253673021
<%@ page language="java" contentType="text/html; charset=GB18030"
pageEncoding="GB18030"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jstl/fmt" %><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head></head>
<body><br>
<c:forEach items="${voucherHeads}" var="voucherHead">
<table width="846" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td colspan="2"><div align="center">记账凭证</div><br></td>
</tr>
<tr>
<td colspan="2"><div align="center">================================================</div></td>
</tr>
<tr>
<td colspan="2"><div align="center"> (Data) </div></td>
</tr>
<tr>
<td><div align="right">SAP凭证号:</div></td>
<td>${voucherHead.sapCertificateId }</td>
</tr>
<tr>
<td width="633"><div align="right">凭证编号 NO.</div></td>
<td width="213">${voucherHead.certificateId }</td>
</tr>
</table>
<table width="846" border="1" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="228" rowspan="2"><div align="center">摘要<br>
Explanation </div></td>
<td width="148" rowspan="2"><div align="center">科目名称<br>
Account subject </div></td>
<td width="148" rowspan="2"><div align="center">外币金额 <br>
For.Cur Amount </div></td>
<td width="99" rowspan="2"><div align="center">汇率<br>
Exc.Rat </div></td>
<td colspan="2"><div align="center">金额 Amount </div></td>
</tr>
<tr>
<td width="105" height="29"><div align="center">借方Debit </div></td>
<td width="104"><div align="center">贷方 Credit </div></td>
</tr>
<c:forEach items="${voucherHead.vocherBodys}" var="vocherBody">
<tr> //把凭证编号相同的记录在一个表中作输出(如多于5行在另一表中输出.)
<td> ${vocherBody.abstractMsg }</td>
<td> ${vocherBody.accountsubjects.sapId }${vocherBody.accountsubjects.ledgerSubjecName }</td>
<td> </td>
<td> </td>
<td>${vocherBody.debitAmoun }</td>
<td>${vocherBody.loanAmount }</td>
</tr>
</c:forEach>
<tr>
<td colspan="4"><div align="center">合计 (Total): </div></td>
<td> </td>
<td> </td>
</tr>
</table>
<p>
<table width="846" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="95"><p align="center">登帐员<br>(Manager):</p>
</td>
<td >${voucherHead.fill }</td>
<td width="95"><div align="center">复核<br>
(Checked):</div></td>
<td> </td>
<td width="95"><div align="center">制单<br>
(Prepared):</div></td>
<td >${voucherHead.make }</td>
<td width="95"><div align="center">出纳<br>
(Cashier):</div></td>
<td> </td>
</tr>
</table>
<p><p>
</c:forEach>
</body>
</html>
现在的问题是所有同一个凭证编号的记录在同一个表中显示出来的.....望有高手指教,请加我Q:253673021
解决方案 »
- 【自学新手求助】jsp页面里,如何删除<table>里的一条数据库记录
- 关于jspsmart上传 下载的问题
- JSP中关于JSTL标签使用的问题
- 帮忙看看这个异常
- 刚学jsp,不知道jsp和servlet应该怎么合作,哪位大侠能详细说明下吗?
- java jstl 用法?出异常了
- 如何让网站服务端程序共用一个数据库连接(而不用每次收到请求都新建一个数据库连接)[我只有30分了 不好意思。]
- 请各位大虾介绍一些已经运行在Internet上的顶尖的jsp给小弟偷一点师。
- TMD,Tomcat的路径是怎么回事?到底我的servlet放在哪?applet放在哪?
- 请各位能否推荐一个好用的JSP编辑工具(可以调试的),何处下载?
- hibernate 知识点
- javascript无法运行?是怎么回事?急!!
分页是按照什么分?国际会计业务也有这样情况,类似小金额转储。但是一般是按照5个一组形成内嵌表明细,然后分页的时候【不是】按照明细分页,而是按照组分页
最后:显示界面跟如下情况类似:
组【1】+
记录1XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
记录2XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
记录3XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
记录4XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
记录5XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
组【2】+
组【3】+
组【4】+
组【5】+你点+号,出现5条明细的内嵌表。 构建HashMap<key ,list>这样的结构数据即可。