2

我有一个包含日期和状态的 Struts2 列表。前任。

listDate - listStatus 
12/12/12 - A 
13/12/12 - B 
14/12/12 - C 
15/12/12 - D 
16/12/12 - E 
17/12/12 - F 
18/12/12 - G 
19/12/12 - H

我想将其显示为html.

listDate应该是列的标题,应该listStatus是数据值。

并且每一行应该只包含指定数量的 column ,比如 5。

像这样的前任

12/12/12 13/12/12 14/12/12

   A        B        C

ETC

我使用了迭代器标签,如下所示:

    <s:iterator value="listvalues" var="lstdata" status="status">
    <s:if test="%{#status.index == 0}">
        <tr><td><s:property value="#lstdata.listDate"></s:property></td></s:if>
    <s:elseif test="%{#status.index%7 == 0}">
        </tr><tr><td><s:property value="#lstdata.listDate"></s:property></td>
    </s:elseif>
    <s:else>
    <td><s:property value="#lstdata.listDate"></s:property></td>
    </s:else>

上面的代码可以逐行列出日期,每行包含 7 个日期。

我的要求是将状态放在每个日期下方。

此外,列应以星期日开始,以星期六结束。

因此,如果日期列表以星期二开始,前 2 个单元格中的数据应该是空的,但应该显示相应的日期。

我可以通过在 7 天内创建单独的列表来在操作类中执行此操作,但想知道是否有使用 html/Struts2标记的方法...请发送您的想法。

4

1 回答 1

1

你应该做这个:

1.构建自己的bean:

class MyBean {
    Date date;
    String status;
}

2. 填满你的豆子,List<MyBean> list确保它从星期天开始(试试java.util.Calendar

3.展示你的bean使用<s:iterator>

<tr>
    <s:iterator value="list" var="var" status="status">
        <s:if test="#status.index%7==0"></tr><tr></s:if>
        <td>
            <s:property value="#var.date"/><br/>
            <s:property value="#var.status"/>
        </td>
    </s:iterator>
</tr>
于 2013-01-22T09:33:42.173 回答