雑廉堂の雑記帳

[struts]いまさらながらStruts <logic:iterate>

いまさらながらStrutsを勉強しています。
すでにEOLを迎えており、近年にも脆弱性の問題で話題となりましたが、社内でStrutsを使う必要があり、よくわからないままにいろいろ手を動かしながらやっております。

jspでlogic:iterateを使ってコレクションの値をフォームのセレクトボタンに当てはめたく、いろいろやった覚書です。

次のようなコレクションをセレクトボタンに当てはめたい、というような場合、

<html:select property="selectid" value="${default.id}">
  <logid:iterate id="list" name="hogelist" type="org.myapp.model.HogeModel">
    <html:option value="${list.id}">
      <bean:write name="list" property="id"/>:
      <bean:write name="list" property="name"/>
    </html:option>
  </logic:iterate>
</html:select>

これがHTMLに変換されると、

<select name="selectedid">
  <option value="1">1 : hogehoge</option>
  <option value="2" selected="selected">2 : fugafuga</option>
  <option value="3">2 : hogefuga</option>
</select>

となってブラウザに返ってきます。

<html:select property=".." ..

は、<select name=".." ..

に置き換わり、選択値である、value="${default.id}" は、

対応する<option value=".." にselected="selected" という属性が付加されます。

モバイルバージョンを終了