ダウンロードする – リンク://wp-content/uploads/2010/06/Struts2-Radio-Button-Example.zip[Struts2-Radio-Button-Example.zip]

List、OGNL、およびオブジェクトを介して生成されるラジオボタンのデフォルト値を事前に選択する方法を示すStruts 2のサンプルはほとんどありません。

1.リスト

Javaコードでは、Listを作成してラジオボタンの値を返します。

       //...
    List<String> genders = new ArrayList<String>();
        genders.add("male");
        genders.add("female");
        genders.add("unknown");
   //...
    public List<String> getGenders() {
        return genders;
    }
    public String getDefaultGenderValue(){
        return "unknown";
    }
   //...

結果ページの<s:radio>タグでは、

list = “genders”



getGenders()

メソッドを呼び出し、ラジオボタンのキーと値のリストを返します。

value = “defaultGenderValue”

は、

getDefaultGenderValue()

メソッドを呼び出して、ラジオボタンのデフォルト値** として「未知」の値を事前に選択します。

<s:radio label="Gender" name="yourGender" list="genders" value="defaultGenderValue"/>

それは、次のHTMLコードを生成します…​

<input type="radio" name="yourGender" id="resultAction__yourGendermale" value="male"/>
<label for="resultAction__yourGendermale">male</label>

<input type="radio" name="yourGender" id="resultAction__yourGenderfemale" value="female"/>
<label for="resultAction__yourGenderfemale">female</label>

<input type="radio" name="yourGender" id="resultAction__yourGenderunknown"
   checked="checked" value="unknown"/>
<label for="resultAction__yourGenderunknown">unknown</label>

2. OGNL

結果ページで、OGNL式でラジオボタンを作成し、デフォルト値** として “2”を選択します。

<s:radio label="Answer" name="yourAnswer" list="#{'1':'Yes','2':'No'}" value="2"/>

それは、次のHTMLコードを生成します…​

<input type="radio" name="yourAnswer" id="resultAction__yourAnswer1" value="1"/>
<label for="resultAction__yourAnswer1">Yes</label>

<input type="radio" name="yourAnswer" id="resultAction__yourAnswer2"
checked="checked" value="2"/>
<label for="resultAction__yourAnswer2">No</label>

3.オブジェクト

Javaコードでは、languageCodeおよびlanguageDisplayプロパティを使用してLanguageオブジェクトを作成します。

       //...
        public class Language{

           private String languageCode;
           private String languageDisplay;
          //getter and setter methods
        }

       //...
    List<Language> languages = new ArrayList<Language>();
        languages.add( new Language("EN", "English") );
        languages.add( new Language("FR", "France") );
        languages.add( new Language("CN__ZH", "Chinese") );
        languages.add( new Language("DE", "German") );
   //...
    public List<Language> getLanguages() {
        return languages;
    }
    public String getDefaultLanguageValue(){
        return "CN__ZH";
    }
   //...

結果ページの<s:radio>タグでは、

list = “languages”



ボタンのキーと値のリストを返す

getLanguages()

メソッドと呼ばれます。

listKey = “languageCode”

は、言語のlanguageCodeプロパティをラジオボタンのキーとして示します。

listValue = “languageDisplay”

は、言語のlanguageDisplayプロパティをラジオボタンの値として示します。最後の

value = “defaultLanguageValue”

は、getDefaultLanguageValue()

メソッドを呼び出して、 “CN__ZH”をラジオボタンのデフォルト値** として事前選択します。

<s:radio label="Gender" name="yourLanguage" list="languages"
 listKey="languageCode" listValue="languageDisplay" value="defaultLanguageValue"/>

それは、次のHTMLコードを生成します…​

<input type="radio" name="yourLanguage" id="resultAction__yourLanguageEN" value="EN"/>
<label for="resultAction__yourLanguageEN">English</label>

<input type="radio" name="yourLanguage" id="resultAction__yourLanguageFR" value="FR"/>
<label for="resultAction__yourLanguageFR">France</label>

<input type="radio" name="yourLanguage" id="resultAction__yourLanguageCN__ZH"
checked="checked" value="CN__ZH"/>
<label for="resultAction__yourLanguageCN__ZH">Chinese</label>

<input type="radio" name="yourLanguage" id="resultAction__yourLanguageDE" value="DE"/>
<label for="resultAction__yourLanguageDE">German</label>

リファレンス


  1. http://struts.apache.org/2.0.11.2/docs/radio.html


  2. http://struts.apache.org/2.1.8.1/docs/struts-2-form-tags.html

  3. link://struts2/struts-2-sradio-radio-button-example/[ラジオを作成する

Struts 2のボタン]