クラス OptionTag

すべての実装されたインタフェース:
BodyTag, DynamicAttributes, IterationTag, JspTag, Tag, TryCatchFinally, Serializable

public class OptionTag extends HTMLTagSupport
プルダウンメニューの選択項目を作成するHTML拡張タグです。 name 属性は、ラベルリソース のキーを与えることで、使用する上位のタグの ロケールにあわせたリソースを使用して、画面に表示します。 従って、このタグでは ロケールは指定できません。 selected属性は、そのタグが選ばれている場合を、"true" で指定します。 初期値は、"false" です。
関連項目:
変更履歴:
5.7.1.0 (2013/12/06) DatalistTag 対応で、大幅に見直し
機能分類
選択データ制御
形式サンプル:
●形式:<og:option value="…" lbl ="…" selected="…" /> ●body:なし ●Tag定義: <og:option selected 【TAG】オプションを選択済みの状態(selected)にセットします(初期値:未選択) lbl 【TAG】ラベルリソースのラベルIDを指定します lbls 【TAG】ラベルをCSV形式で複数指定します codeName 【TAG】コードセレクトのユニークキー(コード名称)をセットします 7.0.5.1 (2019/09/27) title 【HTML】要素に対する補足的情報(title)を設定します disabled 【TAG】その部品に対して、選択や変更が出来ないように(disabled)指定します(サーバーに送信されない) clazz 【HTML】要素に対して class 属性を設定します language 【TAG】タグ内部で使用する言語コード[ja/en/zh/…]を指定します roles 【TAG】ロールをセットします useAttStrict 【TAG】XHTMLTag に指定されている Attributes のみ使えるかどうか [true/false]を指定します(初期値:true) caseKey 【TAG】このタグ自体を利用するかどうかの条件キーを指定します(初期値:null) caseVal 【TAG】このタグ自体を利用するかどうかの条件値を指定します(初期値:null) caseNN 【TAG】指定の値が、null/ゼロ文字列 でない場合(Not Null=NN)は、このタグは使用されます(初期値:判定しない) caseNull 【TAG】指定の値が、null/ゼロ文字列 の場合は、このタグは使用されます(初期値:判定しない) caseIf 【TAG】指定の値が、true/TRUE文字列の場合は、このタグは使用されます(初期値:判定しない) debug 【TAG】デバッグ情報を出力するかどうか[true/false]を指定します(初期値:false) /> ●使用例 プルダウンで選択する 値(value) に対して ラベル(lbl) を付けられます。 <og:select name="ORDER_BY" lbl="ORDER_BY"> <og:option value="SYSTEM_ID,CLM,LANG" lbl ="CLM" selected="selected" /> </og:select> ラベルが複数ある場合は、lbls 属性を使用します。 <og:select name="ORDER_BY" lbl="ORDER_BY"> <og:option value="SYSTEM_ID,CLM,LANG" lbls="LANG,NAME_JA" /> </og:select> MessageResource プロパティの値を使用したいとききはlbl属性を使います。 <og:select name="CDC"> <og:option lbl="MSG0001" /> </og:select> LabelResource プロパティの値を使用したいとききはlbl属性を使います。 <og:select name="CDC"> <og:option lbl="CDC1" /> </og:select> 選択肢の中から複数選択できるようにするときはmultiple属性を使います。 <og:select name="CDC" multiple="multiple"> <og:option value="AAA" /> </og:select> 選択不可にするときはdisabled属性を使います。 <og:select name="CDC" disabled="disabled"> <og:option value="AAA" /> </og:select> 選択肢をSELECT文の結果から作成したいときはqueryOptionタグと組み合わせて使います。 <og:select name="CDC"> <og:queryOption> select NOSYN,NOSYN,':',NMSYN from DB01 ORDER BY 1 </og:queryOption> </og:select>
導入されたバージョン:
JDK5.0,
  • コンストラクタの詳細

    • OptionTag

      public OptionTag()
      デフォルトコンストラクター
      変更履歴:
      6.4.2.0 (2016/01/29) PMD refactoring. Each class should declare at least one constructor.
  • メソッドの詳細

    • makeTag

      protected String makeTag()
      ラベルを作成します。 lbl 属性でセットされた場合は、そちらを優先します。 セットされていない場合は、value 属性をキーに、 LabelResource プロパティの値をセットします。 value 属性に、カンマ(,)で区切られた複数の Label を セットできます。
      定義:
      makeTag クラス内 HTMLTagSupport
      戻り値:
      null固定(null を返せば、doEndTag() では、何もしない)
      変更履歴:
      3.5.4.0 (2003/11/25) selVal 属性を追加。, 3.5.5.7 (2004/05/10) DBColumn.getOption( String ) メソッド廃止, 3.8.0.9 (2005/10/17) 複数選択可能時に全選択を設定する。, 5.0.2.0 (2009/11/01) 複数パラメーターの選択に対応, 5.7.1.0 (2013/12/06) findAncestorWithClass を移動, 5.7.1.0 (2013/12/06) SelectTag ⇒ OptionAncestorIF に変更して、DatalistTag にも対応。, 6.0.4.0 (2014/11/28) キー:ラベル形式で表示するかどうかの、addKeyLabel 属性対応, 7.0.5.1 (2019/09/27) codeName を指定することでリソースからoptionを作成します。, 8.5.3.0 (2023/09/08) DynamicAttributes対応
    • setSelected

      public void setSelected(String sel)
      【TAG】オプションを選択済みの状態(selected)にセットします(初期値:未選択)。
      パラメータ:
      sel - 選択済み状態 [selected:選択済み/それ以外:未選択]
      説明:
      selected="selected" または selected="true" 以外の値はセットできないように 制限をかけます。 初期値は、未選択 です。
    • setLbls

      public void setLbls(String lbls)
      【TAG】ラベルをCSV形式で複数指定します。
      パラメータ:
      lbls - 複数ラベルID(CSV形式)
      変更履歴:
      3.5.6.2 (2004/07/05) 先に配列に分解してからリクエスト変数の値を取得, 5.2.2.0 (2010/11/01) setMsglbl 廃止 ⇒ setLbl に置換え, 6.4.3.4 (2016/03/11) CSV形式の文字連結を、stream 経由で行います。, 6.5.0.0 (2016/09/30) " DESC" 文字列を見つけた場合、DESCだけリソース変換します。, 8.3.0.4 (2022/09/02) CSV変数({@})を更に分割
      説明:
      シングルラベルの lbl 属性との違いは、ここではラベルを複数 CSV形式で 渡すことが可能であることです。これにより、"A,B,C" という値に対して、 "Aのラベル表示,Bのラベル表示,Cのラベル表示" という具合に文字列を 再合成します。 これは、SQL文のOrdr By 句で、ソート順を指定する場合などに便利です。 <og:option lbls="MKNMJP,MKCD,MKNMEN" /> 分解方法は、CSV変数を先に分解してから、getRequestParameter で値を取得します。 こうしないとデータ自身にカンマを持っている場合に分解をミスる為です。
    • setCodeName

      public void setCodeName(String name)
      【TAG】コードセレクトのユニークキー(コード名称)をセットします。
      パラメータ:
      name - メニューのユニークキー
      変更履歴:
      7.0.5.1 (2019/09/27) 新規作成, 8.5.3.0 (2023/09/08) DynamicAttributes対応
      説明:
      このキーを元に、CodeData オブジェクトを構築します。 option をリソースから出力することができます。
    • toString

      public String toString()
      このオブジェクトの文字列表現を返します。 基本的にデバッグ目的に使用します。
      オーバーライド:
      toString クラス内 CommonTagSupport
      戻り値:
      このクラスの文字列表現
      変更履歴:
      5.7.1.0 (2013/12/06) selVal と、multipleAll をローカル変数化する。
      このメソッドは、nullを返しません