4

私は持っていList<Bill> billsます。Billを持つ豆ですid, amount, date, billDescriptionBillオブジェクトのチェックボックスリストを表示したい。だから私は使用します:

<s:checkboxlist list="bills" name="selectedBills" 
    listKey="id" listValue="displayLabel"/>

私のBill.getDisplayLabel()印刷物:「金額の日付の請求書の説明」

40.00 5/1/2011 Electric Bill
1005.25 6/12/2012 Gas Bill

問題は、それが整列していないことです。金額、日付、billDescription が揃うように、displayLabel をカスタマイズしたいと考えています。次のように表示されます。

[ ]   40.00    5/1/2011    Electric Bill
[ ] 1005.26    6/12/2012   Gas Bill

それぞれの前にチェックボックスがあります。基本的に、このコードを生成したい:

<table>
   <tr>
      <td><input type="checkbox" name="selectedBills" value="9" id="selectedBills-1"/></td>
      <td style="text-align: right">40.00</td>
      <td>5/1/2011</td>
      <td>Electric Bill</td>
   </tr>
   <tr>
      <td><input type="checkbox" name="selectedBills" value="9" id="selectedBills-2"/></td>
      <td style="text-align: right">1005.26</td>
      <td>6/12/2012</td>
      <td>Gas Bill</td>
   </tr>
</table>

どうすればいいですか?最初の列にはチェックボックスが必要ですが、最後の 3 列はラベルの 3 つの異なる部分です。<td>私は自分の中にコードを入れてみましたBill.getDisplayLabel()が、実際の<td>タグが表示されるように struts はそれをエスケープします!

どんなアイデアでも大歓迎です。

更新: freemarker テンプレートをカスタマイズして、チェックボックスを垂直に表示する方法は既に知っています。

4

2 に答える 2

3

struts iteratorを使用するのはどうですか?このコードを適切にテストしていません。しかし、それがあなたにいくつかのアイデアを与えることを願っています:

<table>
  <s:iterator value="bills" var="bill">
    <tr>
    <td><input type="checkbox" name="selectedBills" value="${bill.id}" id="selectedBills-2"/></td>
    <td style="text-align: right">${bill.amount}</td>
    <td>${bill.date}</td>
    <td>${bill.description}/td>
    </tr>
  </s:iterator>
</table>
于 2013-07-18T16:20:07.557 に答える