PGBox
P
G
Box

html radioタグ

htmlタグのメニューへ戻る



使用した環境
JDK 6 Update 11
struts 1.3.10

ラジオボタン<input type="radio">を出力します。

選択されたラジオボタンのvalueで指定された値が送信される事となります。

属性必須意味
property対応するフォームのプロパティ名を指定する。実際にはname="xxx"が出力される。
nameネストした<html:form>のフォーム以外のフォームのpropertyと関連付ける場合に、bean名を指定する。
valueidNameを指定しない場合:パラメータの値を直接指定する。idNameを指定する場合:パラメータの値に使用するプロパティ名を指定する。
idNameパラメータの値を動的に設定する場合に指定する。idNameでvalue値を保持するbean名を指定し、valueではbeanのプロパティ名を指定する。
disabledtrueを指定した場合、無効状態となる。disabled="disabled"が出力される。
style同名の属性値が出力される。
styleClassclass="xxx"が出力される。
styleIdid="xxx"が出力される。
errorKeyエラーメッセージを取得するリクエスト/セッションバインド名を指定。
errorStyleこのタグのpropertyに関連するエラーメッセージが存在した場合に出力されるstyle属性の値
errorStyleClassこのタグのpropertyに関連するエラーメッセージが存在した場合に出力されるclass属性の値
errorStyleIdこのタグのpropertyに関連するエラーメッセージが存在した場合に出力されるid属性の値
indexed同名複数の入力フィールドを出力する場合に使用する。<logic:iterate>もしくは<nested:iterate>にネストした上で、この属性値をtrueに設定する。
lang同名の属性値が出力される。
bundleメッセージリソースを取得するリクエスト/セッションバインド名を指定。
alt同名の属性値が出力される。
altKeyaltの値をメッセージリソースから取得する場合に、そのキーを指定する。
title同名の属性値が出力される。
titleKeytitleの値をメッセージリソースから取得する場合に、そのキーを指定する。
accesskey同名の属性値が出力される。
tabindex同名の属性値が出力される。
dir同名の属性値が出力される。
onblur同名の属性値が出力される。
onchange同名の属性値が出力される。
onclick同名の属性値が出力される。
ondblclick同名の属性値が出力される。
onfocus同名の属性値が出力される。
onkeydown同名の属性値が出力される。
onkeypress同名の属性値が出力される。
onkeyup同名の属性値が出力される。
onmousedown同名の属性値が出力される。
onmousemove同名の属性値が出力される。
onmouseout同名の属性値が出力される。
onmouseover同名の属性値が出力される。
onmouseup同名の属性値が出力される。


このサンプルで使用しているstruts-configの定義は以下の通りです。
<form-beans>
    <form-bean name="SampleForm" type="pgbox.form.SampleForm" />
</form-beans>

(中略)

<action path="/sample" name="SampleForm" type="pgbox.action.SampleAction" validate="false" scope="request">
    <forward name="success" path="/WEB-INF/view/sample.jsp" />
</action>


例えば、Formが以下のように定義されており
public class SampleForm extends ActionForm {
    
    /** 選択された値 */
    private String selectValue;
    
    ※ 以下、setter, getter
}


以下のように、JSPで記述を行った場合
<html:form action="/sample">
    
    <html:radio property="selectValue" value="value1" />選択1
    <html:radio property="selectValue" value="value2" />選択2
    <html:radio property="selectValue" value="value3" />選択3
    
    <html:submit value="送信" />
    
</html:form>


以下のようなhtmlが出力されます。
<form name="SampleForm" method="post" action="/struts-sample/sample.do">

    <input type="radio" name="selectValue" value="value1">選択1
    <input type="radio" name="selectValue" value="value2">選択2
    <input type="radio" name="selectValue" value="value3">選択3
    
    <input type="submit" value="送信">

</form>

「選択1」が選択された場合は、フォームのselectValueには「value1」がセットされます。
同様に、「選択2」が選択された場合は、「value2」がセットされます。




valueの値を動的に設定したい場合は、以下のようにする事もできます。
まず、フォームにvalueに使用したいプロパティを定義します。
※ pageContextやrequestにセットされたbeanであれば特にフォームのプロパティである必要はありません。
public class SampleForm extends ActionForm {
    
    /** 選択された値 */
    private String selectValue;

    /** 選択1の値 */
    private String radioValue1;
    
    /** 選択2の値 */
    private String radioValue2;

    /** 選択3の値 */
    private String radioValue3;

    ※ 以下、setter, getter
}


アクションでは、ラジオのvalueに使用したい値を動的にセットしておきます。
public class SampleAction extends Action {
    
    @Override
    public ActionForward execute(ActionMapping mapping, ActionForm form0, ...
        SampleForm form = (SampleForm) form0;
        
        form.setRadioValue1("動的な値1");
        form.setRadioValue2("動的な値2");
        form.setRadioValue3("動的な値3");
        
        return mapping.findForward("success");
    }
    
}

JSPでは以下のようにします。
<html:form action="/sample">
    
    <html:radio property="selectValue" idName="SampleForm" value="radioValue1" />選択1
    <html:radio property="selectValue" idName="SampleForm" value="radioValue2" />選択2
    <html:radio property="selectValue" idName="SampleForm" value="radioValue3" />選択3
    
    <html:submit value="送信" />
    
</html:form>

すると、以下のようなHTMLが出力されます。
<form name="SampleForm" method="post" action="/struts-sample/sample.do">
    
    <input type="radio" name="selectValue" value="動的な値1">選択1
    <input type="radio" name="selectValue" value="動的な値2">選択2
    <input type="radio" name="selectValue" value="動的な値3">選択3
    
    <input type="submit" value="送信">
    
</form>





htmlタグのメニューへ戻る