我遇到了一个奇怪的问题。如果我使用任何两个<s:optiontransferselect>
,下面的代码工作正常,但是当我添加第三个<s:optiontransferselect>
时,导出到displayTag
的excel功能不起作用。
JSP:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<%@ taglib prefix="display" uri="http://displaytag.sf.net"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<script src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
<script type="text/javascript">
function openPopUp(){
document.getElementById('bankForm').setAttribute('target', '_blank');
document.getElementById('bankForm').setAttribute('action', 'displayBankChartAction.action');
}
function noPopUp(){
document.getElementById('bankForm').setAttribute('target', '');
}
</script>
<s:head theme="ajax" debug="true"/>
<link rel="stylesheet" href="gebMi.css" type="text/css" />
<title>Insert title here</title>
</head>
<body>
<s:form id="bankForm">
<img src="images/eb.jpg" alt="Electronic Bannking" style="width:60%;height:10%">
<div class='statusbar'>Bank Info</div>
<table>
<tr>
<td>
<s:datetimepicker label="Select From" name="bankBean.fromDate" displayFormat="dd-MM-yy"/>
</td>
<td>
<s:datetimepicker label="Select To" name="bankBean.toDate" displayFormat="dd-MM-yy" />
</td>
</tr>
</table>
<table>
<tr>
<td>
<s:optiontransferselect
label="Channels"
name="bankBean.leftChannels"
leftTitle="Unselected Channels"
rightTitle="Selected Channels"
list="bankBean.leftChannelsList"
multiple="true"
headerKey="-1"
doubleList="bankBean.rightChannelsList"
doubleName="bankBean.rightChannels"
doubleHeaderKey="-1"
doubleHeaderValue="Selected Values"
/>
</td>
<td>
<s:optiontransferselect
label="Transaction Types"
name="bankBean.leftTransTypes"
leftTitle="Unselected Transaction Types"
rightTitle="Selected Transaction Types"
list="bankBean.leftTransTypesList"
multiple="true"
headerKey="-1"
doubleList="bankBean.rightTransTypesList"
doubleName="bankBean.rightTransTypes"
doubleHeaderKey="-1"
doubleHeaderValue="Selected Values"
/>
</td>
<td>
<s:optiontransferselect
label="Bics"
name="bankBean.leftBics"
leftTitle="Unselected Bics"
rightTitle="Selected Bics"
list="bankBean.leftBicsList"
multiple="true"
headerKey="-1"
doubleList="bankBean.rightBicList"
doubleName="bankBean.rightBics"
doubleHeaderKey="-1"
doubleHeaderValue="Selected Values"
/>
</td>
</tr>
</table>
<div style="display:<s:property value= "%{displayTable}"/>">
<display:table class="bb" export="true" id="dTable" name="listBankBean" cellspacing="2px;" cellpadding="2px" style="margin-left:10px;margin-top:20px;" requestURI="">
<display:column property="dateTime" title="DateTime" headerClass="header1" style="border: 1px solid #B0B0B0;"/>
<display:column property="channel" title="Channel" headerClass="header1" style="border: 1px solid #B0B0B0;"/>
<display:column property="transactionType" title="Transaction Type" headerClass="header1" style="border: 1px solid #B0B0B0;"/>
<display:column property="bic" title="Bic" headerClass="header1" style="border: 1px solid #B0B0B0;"/>
<display:column property="volume" title="Volume" headerClass="header1" style="border: 1px solid #B0B0B0;"/>
<display:footer media="all">
<tr style="border: 1px solid #B0B0B0;">
<td colspan="4">Total</td>
<td><s:property value= "%{grandTotal}"/></td>
</tr>
</display:footer>
</display:table>
</div>
<table>
<tr>
<td>
<s:submit value="Show Chart" align="center" onclick="openPopUp();" />
</td>
<td>
<s:submit value="Fetch Data" align="center" action="displayBankDataAction" onclick="noPopUp();" />
</td>
</tr>
</table>
</s:form>
</body>
</html>
请有人请告诉我这里出了什么问题。
答案 0 :(得分:0)
唯一的导出器知道显示表中有多少列。但它无法计算页脚中的列数。跨度值应等于有效HTML表的列数。
<display:table class="bb" export="true" id="dTable" name="listBankBean" cellspacing="2px;" cellpadding="2px" style="margin-left:10px;margin-top:20px;" requestURI="">
<display:column property="dateTime" title="DateTime" headerClass="header1" style="border: 1px solid #B0B0B0;"/>
<display:column property="channel" title="Channel" headerClass="header1" style="border: 1px solid #B0B0B0;"/>
<display:column property="transactionType" title="Transaction Type" headerClass="header1" style="border: 1px solid #B0B0B0;"/>
<display:column property="bic" title="Bic" headerClass="header1" style="border: 1px solid #B0B0B0;"/>
<display:column property="volume" title="Volume" headerClass="header1" style="border: 1px solid #B0B0B0;"/>
<display:footer media="all">
<tr style="border: 1px solid #B0B0B0;">
<td colspan="5">Total</td>
<td><s:property value= "%{grandTotal}"/></td>
</tr>
</display:footer>
</display:table>