ヒロシです。歳のせいか物忘れが酷いので、メモっておくとです。
struts2のsタグです。
●チェックボックス
<s:checkbox name="inputDto.sptMlFlg" value="%{inputDto.sptMlFlg}"/>
※valueにはtrue/falseが入るので、値を1とか2とかで持っている場合は変換が必要です
※valueで指定した変数にて入力値の取得、表示値の設定ができます
●リストボックス(複数指定可能)
<s:select key="inputDto.mlStrList" list="mlVoItems" listKey="mail_addr" listValue="mail_addr" value="%{inputDto.mlStrList}" multiple="true" size="5"/>
※Action側でListを作成し、キーとなる項目の属性をlistKeyに、値となる項目の属性をlistValueにセットします
※Action側のInputDtoクラスには下記のように配列で定義しておくと複数指定したものが格納されます
private String[] mlStrList;
※valueで指定した変数にて入力値の取得、表示値の設定ができます
※multiple="true"としないと複数選択可能となりません
●プルダウン
<s:select key="inputDto.triggerCd" list="triggerTypeVoItems" headerKey="" headerValue="トリガーを指定" listKey="trigger_cd" listValue="trigger_name" value="%{inputDto.triggerCd}"/>
※Action側でListを作成し、キーとなる項目の属性をlistKeyに、値となる項目の属性をlistValueにセットします
※選択値はvalueで指定した変数にセットされます。表示時に選択状態にしたい場合もここにセットすればOK
【参考】固定値をJSPに書いちゃう例
<s:generator separator="," val="%{'OK,NG'}" >
<s:select name="inputDto.auth" list="top" headerKey="" headerValue="-" />
</s:generator>
●textarea
<s:textarea name="inputDto.memo" cols="76" rows="5"/>
※nameで指定した変数に入力値が入ります。表示時に出力したい場合もこの変数にセットすればOK
※他のタグと違ってvalueなくてもOK。但しその場合はnameじゃなくてkeyを指定した場合
※key指定でvalue無しは試してません・・・
●textfield
<s:textfield key="inputDto.owner" value="%{inputDto.owner}" size="35" />
※valueで指定した変数にて入力値の取得、表示値の設定ができます
●値を表示するのはこれ
<s:property value="%{inputDto.title}" />
※valueで指定した変数に表示値を設定します
●サーバ側で生成したHtmlを画面に表示する
<s:property value="%{taisyoServiceHtml}" escape="false"/>
※escape="false"をしないとHtmlタグがそのまま出てきます
●見出しをマスクする(ように見せかける)ような場合
<s:label key="complFlgLabel" value="完了チェック"/>
上記keyをキーにdocument.getElementByIdして、そのclassNameを変更することによって
CSSによる制御を行いました。実際にマスクするわけではなく、色を変えてますくされてい
るかのように見せました。