ラジオボタンのラベルの自動引継ぎについて
Teedaの力を知るために、登録画面→確認画面を作っている途中に
Java Expert #02に書かれていた「ラベルの自動引継ぎ」を実装してみることにしました。
セレクトボックスについては問題なく引き継がれたのですが
ラジオボタンの方がうまく引き継がれず考えた末エントリー。
ソースは以下の通り
遷移元
HTMLファイル(抜粋)
<table> <tr> <td>職業</td> <td> <input type="hidden" id="syokusyuItemsSave" /> <span id="radioSyokusyu"> <span id="syokusyuItems"> <input type="radio" name="radioSyokusyu" value="1" id="code" /> <span id="syokusyu" te:omittag="true">dummy</span> </span> </span> </td> </tr> <tr> <td>出身地(都道府県)</td> <td> <input type="hidden" id="prefItemsSave" /> <select id="prefItems"> <option value="0">未選択</option> </select> </td> </tr> </table>
Pageクラス(抜粋)
public class SamplePage { public String radioSyokusyu; public String codeValue; public String syokusyu; public String syokusyuLabel; public List<SyokusyuDto> syokusyuItems; @Required public String pref; public String prefLabel; public List<PrefDto> prefItems; public Class<?> doNext() { return Sample2Page.class; } public Class<?> initialize() { return null; } public Class<?> prerender() { syokusyuItems = new ArrayList<SyokusyuDto>(); SyokusyuDto syokusyuDto = new SyokusyuDto(); syokusyuDto.codeValue = "1"; syokusyuDto.syokusyu = "学生"; syokusyuItems.add(syokusyuDto); syokusyuDto = new SyokusyuDto(); syokusyuDto.codeValue = "2"; syokusyuDto.syokusyu = "社会人"; syokusyuItems.add(syokusyuDto); prefItems = new ArrayList<PrefDto>(); PrefDto prefDto = new PrefDto(); prefDto.value = "1"; prefDto.label = "東京都"; prefItems.add(prefDto); prefDto = new PrefDto(); prefDto.value = "2"; prefDto.label = "大阪府"; prefItems.add(prefDto); return null; } }
遷移先
HTMLファイル(抜粋)
<form id="Form"> <span id="syokusyuLabel"></span> <span id="prefLabel"></span> </form>
Pageクラス(抜粋)
public class Sample2Page { public String syokusyuLabel; public String prefLabel; public Class<?> initialize() { return null; } public Class<?> prerender() { return null; } }
セレクトボックス、ラジオボタン共に"Items", "ItemsSave"を記述してあり、
"〜Label"も遷移元、先のフィールドに宣言してあるのになぁ・・・
以上