リファレンストップへ Java | html radioタグ使用した環境 JDK 6 Update 11 struts 1.3.10 ラジオボタン<input type="radio">を出力します。選択されたラジオボタンのvalueで指定された値が送信される事となります。
このサンプルで使用している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> |
|