2013-01-22 33 views
2

我有一个由日期和状态组成的Struts2列表。防爆。在html表中显示来自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应该是数据值。

而且每一行应该只包含列指定数目的,比如说5

前这样

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

    A  B  C 

我用同样的迭代器标签,如下所示:

<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> 

上面的代码可以列出每行的连续日期cont开始7个日期。

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

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

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

我可以通过创建单独的列表7天内做到这一点,但想知道是否有出路使用HTML/Struts2标签...请发送你的想法。

+0

请尝试fo rmat你的代码 – Jaiwo99

回答

1

你应该这样做:

1.建立你自己的bean:

class MyBean { 
    Date date; 
    String status; 
} 

2. List<MyBean> list填写你的bean,并确保它与周日开始(试java.util.Calendar

3展示您的豆使用<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> 
+0

Jaiwo99,当然..另一个问题,是否有可能显示状态作为另一个单元格下面的日期...现在都在同一个单元格.. – user1999559

+0

@ user1999559为什么你想要他们在分开的单元格?你可以用'div'这样的另一个标签来做,或者在'td'中构建另一个表格,但是你的数据应该被包装在同一个单元中!一切都是可能的,但我没有看到这样做的理由 – Jaiwo99

+0

因为我想要数据显示为一个表中的日期在一行中,我将标记为标题和日期下方的状态根据状态代码显示为不同颜色的矩形。因此,如果状态显示在不同的单元格中,则可以指定该单元格的颜色。 – user1999559

相关问题