struts <s:iterator>两个list嵌套循环,对象属性交叉使用

两个list:List<CreateTableColumn> createTableColumnList,List<Map<String, Object>> tableDataList

createTableColumnList:存储的是客户在web页面自定义的表结构(包括表名,字段名,数据类型等信息)

tableDataList:存储的是自定义表的数据

页面展示数据的时候,<s:iterator>循环tableDataList,但数据的字段名需要从createTableColumnList拿取

 

<tr >
      <th width="60px">序号</th>
    <s:iterator value="createTableColumnList" status="idx">
    <s:if test="#idx.index < 8" >
      <th><s:property value="columnComments" /></th>
    </s:if>
    </s:iterator>
      <th width="10%" >操作</th>
    </tr>
    <s:iterator value="tableDataList" var="data" status="st">
    <tr>
      <td align="center"><s:property value="#st.index+1"/></td>
    <s:iterator value="createTableColumnList" var="table" status="idx">
    <s:if test="#idx.index < 8" >
      <td align="center">
        <s:if test="'日期'==#table.dataType" >
            <s:date name="#data[#table.columnName]" format="yyyy-MM-dd" />
        </s:if>
        <s:elseif test="'字符串'==dataType">
            <s:if test="#data[#table.columnName].length() > 10" >
                <s:property value="#data[#table.columnName].substring(0,10)+ '...'" />
            </s:if>
            <s:else>
                <s:property value="#data[#table.columnName]" />
            </s:else>
        </s:elseif>
        <s:else>
            <s:property value="#data[#table.columnName]" />
        </s:else>
      </td>
      </s:if>
    </s:iterator>
</tr>

 

posted @ 2018-10-26 09:43  Bob.Xie  阅读(767)  评论(0编辑  收藏  举报