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

Strutsリファレンス
 
Web struts.wasureppoi.com
セレクトボックスを動的に表示する<html:select、optionsCollection>
スポンサード リンク

セレクトボックスを動的に表示するには、<html:optionsCllection>タグを使用します。
セレクトボックスに使用するvalue値とラベル名は、LinkedHashMapに、keyとvalueのセットで設定します。

JSP使用例

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

<html><body>

<html:form action="/select_map_view" >

<html:select property="stringData" >
  <html:optionsCollection
       name="SelectMapForm"
       property="mapData"
       value="key"
       label="value" />
</html:select>

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

</body></html>

<html:optionsCollection>タグ 
  name属性 : Bean名
  property属性 : mapデータが格納されているプロパティ
  value属性 : "key"を指定。LinkedHashMapのgetKeyメソッドが呼ばれ、key文字列が指定される。
  label属性 : "value"を指定。LinkedHashMapのgetValueメソッドが呼ばれ、value文字列が指定される。


HTMLソース&画面イメージ

<html><body>

<form name="SelectMapForm" method="post" action="/Struts1.2/do/select_map_view">

<select name="stringData"><option value="01">北海道</option>
<option value="02">東北</option>
<option value="03">関東</option></select>

<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("01", "北海道");
    map.put("02", "東北");
    map.put("03", "関東");
    inform.set("mapData", map);

    return mapping.findForward("success");
  }

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


アクションフォーム

<form-bean
  name="SelectMapForm"
  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へ