[Wicket-ja-user 467] RadioGroupでPropertyModelを使って値を結びつけるやり方について

Back to archive index

エルコムウォーク 田中 tanak****@elcom*****
2010年 8月 9日 (月) 14:42:50 JST


田中です。

RadioGroupを使ったラジオボタンの作り方が良く分からなかったので投稿しました。

RadioGroupのコンポーネントにPropertyModelでbookVOの『naiyouShubetsu』という項目と結びつけています。

登録処理の時は、フォーム画面からの入力(ラジオボタン選択)がbookVOの『naiyouShubetsu』にセットされDBに登録されたのですが、更新処理で、DBから値を取ってきて、bookVOにセットしても、ラジオボタンがその値に設定されません。

下の[※]のところで、
bookVO.setNaiyouShubetsu(nakyoushubetsuMenu.getItem(bookVO.getNaiyouShubetsu()));

などと設定しなおす一行を入れると、ラジオボタンに設定されて画面表示されます。

RadioChoiceを使った場合はこのようなことをしなくてもラジオボタンに設定されたのですが、RadioGroupを使う場合はこのように設定しなおすものなのでしょうか?

(最初、RadioChoiceを使ってやっていたのですが、ラジオボタンとラベルのレイアウトがどうしてもくずれてしまうのでRadioGroupを使うことにしました。)



------ HTML --------
<span wicket:id="widRadioGroup_naiyouShubetsu">
  <span wicket:id="widRadio_naiyouShubetsuListView">
     <input type="radio" name="NAIYOU_SHUBETSU" wicket:id="widRadioItem_radio">
     <span wicket:id="widRadioItem_label"></span>
  </span>
</span>
-------------------------

------ Java --------
RadioChoiceHelper naiyouShubetsuModeRadio = new
RadioChoiceHelper("naiyouShubetsuModeRadio");

RadioGroup widRadioGroup_naiyouShubetsu = new
RadioGroup("widRadioGroup_naiyouShubetsu", new PropertyModel(bookVO,
"naiyouShubetsu"));
widForm_form.add(widRadioGroup_naiyouShubetsu);
ListView widRadio_naiyouShubetsuListView = new
ListView("widRadio_naiyouShubetsuListView",
naiyouShubetsuModeRadio.getSelectMenu()) {
  @Override
  protected void populateItem(ListItem item) {
     // TODO 自動生成されたメソッド・スタブ
     item.add(new Radio("widRadioItem_radio", item.getModel()));
     item.add(new Label("widRadioItem_label",
item.getModelObject().toString()));
   }
};

[※]

widRadioGroup_naiyouShubetsu.add(widRadio_naiyouShubetsuListView);
-------------------------




Wicket-ja-user メーリングリストの案内
Back to archive index