如何使用 display:table 在列表中显示地图
How to use display:table for to diplay map within a list
我有一个 VO object,其中包含字符串 + 映射 属性。这个 object 正在形成一个列表,然后我试图使用 display:table 来显示这个列表。对于所有字符串属性,display:column 都很好,但是对于地图代码,使用 display:column 变得越来越困难,因为地图的键形成 header,它只能作为标题显示一次last display:column 并且值必须迭代。我看到了在 display:column 中使用 display:table 或迭代地图的两个选项。但是在列中使用 display:table 我可以看到标题是静态的(这不是我的情况)。
没有display:table的代码
<table id="prepaid" width="1120px" style="margin-left: 20px; border: 1px solid #7591AC;" cellSpacing=1 cellPadding=0 class=tabular>
<logic:present name="provisioningStatisticsResultList">
<logic:iterate id="provisioningStatisticsResultListObj" name="provisioningStatisticsResultList" indexId="index">
<bean:define id="mapEntry" name="provisioningStatisticsResultListObj" property="rangeMap" />
<tr>
<logic:equal name="index" value="0">
<th><bean:message key="label.applicationId" bundle="labels" /></th>
<th><bean:message key="label.version" bundle="labels" /></th>
<th><bean:message key="label.results" bundle="labels" /></th>
<logic:iterate id="map" name="mapEntry">
<th><bean:write name="map" property="key" /></th>
</logic:iterate>
</logic:equal>
</tr>
<tr class="tableRowEven">
<td class="td.iconCell"><bean:write name="provisioningStatisticsResultListObj" property="applicationId" /></td>
<td><bean:write name="provisioningStatisticsResultListObj" property="apkVersion" /></td>
<td><bean:write name="provisioningStatisticsResultListObj" property="activationType" /></td>
<td><bean:write name="provisioningStatisticsResultListObj" property="status" /></td>
<logic:iterate id="map" name="mapEntry">
<td><bean:write name="map" property="value" /></td>
</logic:iterate>
</tr>
</logic:iterate>
</logic:present>
</table>
使用display:table我尝试了各种选项但没有任何效果,可能是一些语法错误或其他解决方案一起(评论一个):
<display:table name="sessionScope.provisioningStatisticsResultList"
id="provisioningStatisticsResultListObj" defaultsort="1" defaultorder="ascending"
pagesize="<%= recordsPerPage %>" cellspacing="0" cellpadding="3"
requestURI="/provisioningStatistics.do" export="true"
class="data_table width_full" style="margin-left:20px;">
<display:column title="Application ID">
<bean:write name="provisioningStatisticsResultListObj" property="applicationId"/>
</display:column>
<display:column title="Version">
<bean:write name="provisioningStatisticsResultListObj" property="apkVersion"/>
</display:column>
<display:column title="Results">
<bean:write name="provisioningStatisticsResultListObj" property="status"/>
</display:column>
<bean:define id="mapEntry" name="provisioningStatisticsResultListObj" property="rangeMap" />
<logic:iterate id="map" name="mapEntry">
<display:column title="<bean:write name="map" property="key" />">
<bean:write name="map" property="value" /></display:column>
</logic:iterate>
<%-- <display:column property="rangeMap">
<display:table id="mapEntry" name="rangeMap" style="margin-left:20px;">
<display:column title = "<bean:write name="map" property="key" />" >
<bean:write name="map" property="value" />
</display:column>
</display:table>
</display:column> --%>
<%-- <logic:iterate id="map" name="mapEntry" property="rangeMap" indexId="index1">
<display:column title = "<bean:write name="map" property="key" />" >
<bean:write name="map" property="value" />
</display:column>
</logic:iterate> --%>
</display:table>
</tbody>
</table>
</logic:present>
我的项目使用struts 1. 请帮我修改代码
您需要包含定义了 display
标签的标签库:
<%@ taglib uri="http://displaytag.sf.net" prefix="display" %>
此外,请确保 jar 文件 displayTag.jar 在您的类路径中。
我有一个 VO object,其中包含字符串 + 映射 属性。这个 object 正在形成一个列表,然后我试图使用 display:table 来显示这个列表。对于所有字符串属性,display:column 都很好,但是对于地图代码,使用 display:column 变得越来越困难,因为地图的键形成 header,它只能作为标题显示一次last display:column 并且值必须迭代。我看到了在 display:column 中使用 display:table 或迭代地图的两个选项。但是在列中使用 display:table 我可以看到标题是静态的(这不是我的情况)。
没有display:table的代码
<table id="prepaid" width="1120px" style="margin-left: 20px; border: 1px solid #7591AC;" cellSpacing=1 cellPadding=0 class=tabular>
<logic:present name="provisioningStatisticsResultList">
<logic:iterate id="provisioningStatisticsResultListObj" name="provisioningStatisticsResultList" indexId="index">
<bean:define id="mapEntry" name="provisioningStatisticsResultListObj" property="rangeMap" />
<tr>
<logic:equal name="index" value="0">
<th><bean:message key="label.applicationId" bundle="labels" /></th>
<th><bean:message key="label.version" bundle="labels" /></th>
<th><bean:message key="label.results" bundle="labels" /></th>
<logic:iterate id="map" name="mapEntry">
<th><bean:write name="map" property="key" /></th>
</logic:iterate>
</logic:equal>
</tr>
<tr class="tableRowEven">
<td class="td.iconCell"><bean:write name="provisioningStatisticsResultListObj" property="applicationId" /></td>
<td><bean:write name="provisioningStatisticsResultListObj" property="apkVersion" /></td>
<td><bean:write name="provisioningStatisticsResultListObj" property="activationType" /></td>
<td><bean:write name="provisioningStatisticsResultListObj" property="status" /></td>
<logic:iterate id="map" name="mapEntry">
<td><bean:write name="map" property="value" /></td>
</logic:iterate>
</tr>
</logic:iterate>
</logic:present>
</table>
使用display:table我尝试了各种选项但没有任何效果,可能是一些语法错误或其他解决方案一起(评论一个):
<display:table name="sessionScope.provisioningStatisticsResultList"
id="provisioningStatisticsResultListObj" defaultsort="1" defaultorder="ascending"
pagesize="<%= recordsPerPage %>" cellspacing="0" cellpadding="3"
requestURI="/provisioningStatistics.do" export="true"
class="data_table width_full" style="margin-left:20px;">
<display:column title="Application ID">
<bean:write name="provisioningStatisticsResultListObj" property="applicationId"/>
</display:column>
<display:column title="Version">
<bean:write name="provisioningStatisticsResultListObj" property="apkVersion"/>
</display:column>
<display:column title="Results">
<bean:write name="provisioningStatisticsResultListObj" property="status"/>
</display:column>
<bean:define id="mapEntry" name="provisioningStatisticsResultListObj" property="rangeMap" />
<logic:iterate id="map" name="mapEntry">
<display:column title="<bean:write name="map" property="key" />">
<bean:write name="map" property="value" /></display:column>
</logic:iterate>
<%-- <display:column property="rangeMap">
<display:table id="mapEntry" name="rangeMap" style="margin-left:20px;">
<display:column title = "<bean:write name="map" property="key" />" >
<bean:write name="map" property="value" />
</display:column>
</display:table>
</display:column> --%>
<%-- <logic:iterate id="map" name="mapEntry" property="rangeMap" indexId="index1">
<display:column title = "<bean:write name="map" property="key" />" >
<bean:write name="map" property="value" />
</display:column>
</logic:iterate> --%>
</display:table>
</tbody>
</table>
</logic:present>
我的项目使用struts 1. 请帮我修改代码
您需要包含定义了 display
标签的标签库:
<%@ taglib uri="http://displaytag.sf.net" prefix="display" %>
此外,请确保 jar 文件 displayTag.jar 在您的类路径中。