2013-01-22 57 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

相關問題