Strutsリファレンス(逆引き)

Strutsリファレンス
 
Web struts.wasureppoi.com
ラジオボタンを動的に表示する<html:radio>
スポンサード リンク

ラジオボタンを動的に表示するには、<html:radio>タグでidName属性を使用します。
ラジオボタンに使用する、value値とラベル名は、LinkedHashMapに、keyとvalueのセットで設定します。

JSP使用例

<%@ page pageEncoding = "Shift_JIS" %>
<%@ page contentType="text/html; charset=Shift_JIS" %>
<%@ taglib uri="/tags/struts-html" prefix="html" %>
<%@ taglib uri="/tags/struts-bean" prefix="bean" %>
<%@ taglib uri="/tags/struts-logic" prefix="logic" %>

<html><body>

<html:form action="/dyna_radio_view" >

<logic:iterate id="mp" name="RadioForm" property="mapData" >
   <html:radio idName="mp" property="stringData" value="key"/>
   <bean:write name="mp" property="value" />
  <br>
</logic:iterate>

<html:submit property="submit" value="送信" />
</html:form>

</body></html>

<logiciterate>タグ ・・・・・ LinkedHashMap のentry数分ループする
  id属性 : コレクション要素を参照名
  name属性 : Bean名
  property属性 : mapデータが格納されているプロパティ

<html:radio>タグ ・・・・ ラジオボタン本体を出力
  idName属性 : <logiciterate>タグのid属性で指定したid
  property属性 : リクエストパラメータ名
  value属性 : "key"を指定。LinkedHashMapのgetKeyメソッドが呼ばれ、key文字列が指定される。

<html:write>タグ ・・・・ ラジオボタンのラベルを出力
  name属性 : <logiciterate>タグのid属性で指定したid
  property属性 : "value"を指定。LinkedHashMapのgetValueメソッドが呼ばれ、value文字列が指定される。


HTMLソース&画面イメージ

<html><body>

<form name="RadioForm" method="post"
      action="/Struts1.2/do/dyna_radio_view">

<input type="radio" name="stringData" value="key1">
val1 <br>

<input type="radio" name="stringData" value="key2">
val2 <br>

<input type="radio" name="stringData" value="key3">
val3 <br>

<input type="submit" name="submit" value="送信">
</form>

</body></html>

 


スポンサード リンク

アクションクラス

   public ActionForward execute(ActionMapping mapping,
                      ActionForm form,
                      HttpServletRequest request,
                      HttpServletResponse response) {
    // 入力フォームを取得
    DynaActionForm inform = (DynaActionForm)form;

    // ラジオボタンチェックデータの取得
    String stringData = (String)inform.get("stringData");
    System.out.println("stringData:" + stringData);

    // 動的なラジオボタンのデータの生成
    LinkedHashMap<String,String> map = new LinkedHashMap<String,String>();
    map.put("key1", "val1");
    map.put("key2", "val2");
    map.put("key3", "val3");
    inform.set("mapData", map);

    return mapping.findForward("success");
  }

ラジオボタンで使用する、value値とラベル名を、LinkedHashMapに、keyとvalueのセットで設定しています。


アクションフォーム

<form-bean
  name="RadioForm"
  type="org.apache.struts.validator.DynaValidatorForm" >
   <form-property
      name="stringData"
      type="java.lang.String" />
   <form-property
      name="mapData"
      type="java.util.LinkedHashMap" />
</form-bean>



スポンサード リンク


htmlタグの種類
htmlタグを出力する<html:html>
テキストボックスを表示する<html:text>
テキストエリアを表示する<html:textarea>
パスワード入力ボックスを表示する<html:password>
チェックボックスを表示する<html:checkbox>
複数選択可能なチェックボックスを表示する<html:multibox>
ラジオボタンを表示する<html:radio>
ラジオボタンを動的に表示する<html:radio>
セレクトボックスを表示する<html:select、option>
セレクトボックスのラベルをメッセージリソースから表示する<html:select>
複数選択可能なセレクトボックスを表示する<html:select、option>
セレクトボックスを動的に表示する<html:select、optionsCollection>
セレクトボックスを動的に表示する1<html:select、options>
セレクトボックスを動的に表示する2<html:select、options>
hiddenを出力する<html:hidden>

カスタムタグへ
忘れっぽいエンジニアのJakarta Strutsリファレンス TOPへ