JSF 2ラジオボタンの例

JSF 2ラジオボタンの例

JSFでは、「h:selectOneRadio」タグを使用して、「radio」タイプのHTML入力要素のセットをレンダリングし、HTMLテーブルとラベルタグでフォーマットします。

//JSF...

    
    
    


//HTML output...

JSF 2.0「h:selectOneRadio」の例

h:selectOneRadio」タグを使用してラジオボタンをレンダリングし、3つの異なる方法でデータを入力するJSF2.0の例:

  1. f:selectItem」タグにハードコードされた値。

  2. マップを使用して値を生成し、それを「f:selectItems」タグに入れます。

  3. オブジェクト配列を使用して値を生成し、それを「f:selectItems」タグに入れてから、「var」属性を使用して値を表します。

1. バッキングビーン

送信されたデータを保持するバッキングBean。

package com.example;

import java.util.LinkedHashMap;
import java.util.Map;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;

@ManagedBean(name="user")
@SessionScoped
public class UserBean{

    public String favColor1;
    public String favColor2;
    public String favColor3;

    //getter and setter methods

    //Generated by Map
    private static Map color2Value;
    static{
        color2Value = new LinkedHashMap();
        color2Value.put("Color2 - Red", "Red"); //label, value
        color2Value.put("Color2 - Green", "Green");
        color2Value.put("Color3 - Blue", "Blue");
    }

    public Map getFavColor2Value() {
        return color2Value;
    }

    //Generated by Object array
    public static class Color{
        public String colorLabel;
        public String colorValue;

        public Color(String colorLabel, String colorValue){
            this.colorLabel = colorLabel;
            this.colorValue = colorValue;
        }

        public String getColorLabel(){
            return colorLabel;
        }

        public String getColorValue(){
            return colorValue;
        }

    }

    public Color[] color3List;

    public Color[] getFavColor3Value() {

        color3List = new Color[3];
        color3List[0] = new Color("Color3 - Red", "Red");
        color3List[1] = new Color("Color3 - Green", "Green");
        color3List[2] = new Color("Color3 - Blue", "Blue");

        return color3List;
    }

}

2. JSFページ

h:selectOneRadio」タグの使用を示すJSFページ。



    

        

JSF 2 radio button example

1. Hard-coded with "f:selectItem" :
2. Generated by Map :
3. Generated by Object array and iterate with var :

result.xhtml…



    

        

JSF 2 radio button example

result.xhtml

  1. user.favColor1 : #{user.favColor1}
  2. user.favColor2 : #{user.favColor2}
  3. user.favColor3 : #{user.favColor3}

3. Demo

jsf2-radio-button-example-1

「送信」ボタンをクリックすると、「result.xhtml」にリンクし、送信されたラジオボタンの値を表示します。

jsf2-radio-button-example-2

デフォルトでラジオボタンの値を選択する方法は?

JSFでは、「h:selectOneRadio」タグの「値」と一致する場合、「f:selectItems」タグのラジオボタン値が選択されます。 上記の例で、favColor2を「Red」に設定した場合:

@ManagedBean(name="user")
@SessionScoped
public class UserBean{

    public String[] favColor = "Red";

    //...

「favColor2」ラジオボタン、「Red」オプションがデフォルトで選択されています。

ソースコードをダウンロード

ダウンロード–JSF-2-RadioButtons-Example.zip(10KB)

参照