jsp动态显⽰列
1 controller.java
List<String> ths = new ArrayList<String>(); // ths = [⿏疫, ]--列名
List<String> tds = new ArrayList<String>(); // tds = [101, 102]--列名对应的代码
List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
// list = [{ORGAN_CODE=8651, 101=0, 102=0},
{ORGAN_CODE=8652, 101=1, 102=3},
{ORGAN_CODE=8653, 101=0, 102=0},
{ORGAN_CODE=8665, 101=0, 102=0},
{ORGAN_CODE=8606, 101=0, 102=0},
{ORGAN_CODE=8667, 101=0, 102=0},
{ORGAN_CODE=8668, 101=0, 102=2},
{ORGAN_CODE=8630, 101=0, 102=0}]
(列对应的值,以列code为key)
2 a.jsp
<%@ taglib prefix="fn" uri="java.sun/jsp/jstl/functions"%> <%-- 计算共${(fn:length(ths)) +1}--%>
<table>
<colgroup>
<col /><%-- 机构列:列⽐较宽,单独处理 --%>
<c:forEach var="th" items="${ths}" varStatus="status"><%-- 循环列宽 --%>
<col />
</c:forEach>
</colgroup>
<thead>
<tr>
<th colspan="${(fn:length(ths)) +1}">****报表 </th><%-- 合并标题⾏:机构单列+动态列
=${(fn:length(ths)) +1}--%>
</tr>
<tr>
<th >上报机构</th> <%-- 机构列单独处理列名(固定列) --%>
<c:forEach var="th" items="${ths}" varStatus="status"> <%-- 循环动态列名 --%>
<th>${th}</th>
</c:forEach>
</tr>
</thead>
</table>
<table>
<colgroup>
<col /><%-- 机构列:列⽐较宽,单独处理 --%> <c:forEach var="th" items="${ths}" varStatus="status">
<col /><%-- 循环列宽 --%>
</c:forEach>
</colgroup>
<tbody>
<c:forEach var="result" items="${results}" varStatus="status">
<tr>
<%-- 机构列数据显⽰--%>
<td><ehr:org code="${result.ORGAN_CODE}"/></td>
<%-- 动态列数据显⽰ --%>
java和jsp<c:forEach var="td" items="${tds}" varStatus="status">
<td>${result[td]}</td> <%-- 例⼦:result.⿏疫 类似 result.ORGAN_CODE,但格式为result[td]--%>
</c:forEach>
</tr>
</c:forEach>
</tbody>
</table>
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论