パッケージ org.opengion.hayabusa.taglib

## クラス OptionTag

- java.lang.Object
- - javax.servlet.jsp.tagext.TagSupport
  - - javax.servlet.jsp.tagext.BodyTagSupport
    - - org.opengion.hayabusa.taglib.CommonTagSupport
      - - org.opengion.hayabusa.taglib.HTMLTagSupport
        - - org.opengion.hayabusa.taglib.OptionTag

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

      public class OptionTag
      extends HTMLTagSupport

  プルダウンメニューの選択項目を作成するHTML拡張タグです。 name 属性は、ラベルリソース のキーを与えることで、使用する上位のタグの ロケールにあわせたリソースを使用して、画面に表示します。 従って、このタグでは ロケールは指定できません。 selected属性は、そのタグが選ばれている場合を、"true" で指定します。 初期値は、"false" です。
  関連項目:
    直列化された形式
  機能分類
    選択データ制御
  形式サンプル:
    ●形式：<og:option value="…" lbl ="…" selected="…" /> ●body：なし ●Tag定義： <og:option value 【TAG】値を指定します selected 【TAG】オプションを選択済みの状態(selected)にセットします(初期値:未選択) lbl 【TAG】ラベルリソースのラベルIDを指定します lbls 【TAG】ラベルをCSV形式で複数指定します label 【TAG】optionタグのラベルを指定します codeName 【TAG】コードセレクトのユニークキー(コード名称)をセットします 7.0.5.1 (2019/09/27) caseKey 【TAG】このタグ自体を利用するかどうかの条件キーを指定します(初期値:null) caseVal 【TAG】このタグ自体を利用するかどうかの条件値を指定します(初期値:null) caseNN 【TAG】指定の値が、null/ゼロ文字列 でない場合(Not Null=NN)は、このタグは使用されます(初期値:判定しない) caseNull 【TAG】指定の値が、null/ゼロ文字列 の場合は、このタグは使用されます(初期値:判定しない) caseIf 【TAG】指定の値が、true/TRUE文字列の場合は、このタグは使用されます(初期値:判定しない) id 【HTML】要素に対して固有の名前(id)をつける場合に設定します lang 【HTML】要素の内容と他の属性値の言語(lang,xml:lang)を指定します dir 【HTML】文字表記の方向(dir)を指定します title 【HTML】要素に対する補足的情報(title)を設定します style 【HTML】この要素に対して適用させるスタイルシート(style)を設定します disabled 【TAG】その部品に対して、選択や変更が出来ないように(disabled)指定します(サーバーに送信されない) clazz 【HTML】要素に対して class 属性を設定します language 【TAG】タグ内部で使用する言語コード[ja/en/zh/…]を指定します roles 【TAG】ロールをセットします 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>
  変更履歴:
    5.7.1.0 (2013/12/06) DatalistTag 対応で、大幅に見直し
  バージョン
    4.0
  作成者
    Kazuhiko Hasegawa
  導入されたバージョン:
    JDK5.0,

- - ### フィールドの概要

    - ### クラスから継承されたフィールド org.opengion.hayabusa.taglib.CommonTagSupport

      `BR, BUFFER_MIDDLE, CR`

    - ### クラスから継承されたフィールド javax.servlet.jsp.tagext.BodyTagSupport

      `bodyContent`

    - ### クラスから継承されたフィールド javax.servlet.jsp.tagext.TagSupport

      `id, pageContext`

    - ### インタフェースから継承されたフィールド javax.servlet.jsp.tagext.BodyTag

      `EVAL_BODY_BUFFERED, EVAL_BODY_TAG`

    - ### インタフェースから継承されたフィールド javax.servlet.jsp.tagext.IterationTag

      `EVAL_BODY_AGAIN`

    - ### インタフェースから継承されたフィールド javax.servlet.jsp.tagext.Tag

      `EVAL_BODY_INCLUDE, EVAL_PAGE, SKIP_BODY, SKIP_PAGE`

  - ### コンストラクタの概要

    コンストラクタ
    コンストラクタ | 説明
    --- | ---
    `OptionTag()` | デフォルトコンストラクター

  - ### メソッドの概要

    すべてのメソッド インスタンス・メソッド concreteメソッド
    修飾子とタイプ | メソッド | 説明
    --- | --- | ---
    `protected java.lang.String` | `makeTag()` | ラベルを作成します。
    `void` | `setCodeName​(java.lang.String name)` | 【TAG】コードセレクトのユニークキー(コード名称)をセットします。
    `void` | `setLabel​(java.lang.String label)` | 【TAG】optionタグのラベルを指定します。
    `void` | `setLbls​(java.lang.String lbls)` | 【TAG】ラベルをCSV形式で複数指定します。
    `void` | `setSelected​(java.lang.String sel)` | 【TAG】オプションを選択済みの状態(selected)にセットします(初期値:未選択)。
    `void` | `setValue​(java.lang.String val)` | 【TAG】値を指定します。
    `java.lang.String` | `toString()` | このオブジェクトの文字列表現を返します。

    - ### クラスから継承されたメソッド org.opengion.hayabusa.taglib.HTMLTagSupport

      `doEndTag, getMustType, makeAimaiPicker, makeMustHidden, release2, setAccesskey, setAimai, setAutocomplete, setAutofocus, setClazz, setDir, setDisabled, setId, setLang, setList, setMax, setMin, setMust, setMustAny, setOnBlur, setOnChange, setOnClick, setOndblClick, setOnFocus, setOnKeydown, setOnKeypress, setOnKeyup, setOnMouseDown, setOnMouseMove, setOnMouseOut, setOnMouseOver, setOnMouseUp, setOnSelect, setOptionAttributes, setPattern, setPlaceholder, setReadonly, setRequired, setRoles, setStep, setStyle, setTabindex, setTitle, setUseMustHidden`

    - ### クラスから継承されたメソッド org.opengion.hayabusa.taglib.CommonTagSupport

      `add, add, addEventColumn, addEventColumn, check, commitTableObject, debugPrint, doAfterBody, doCatch, doFinally, doStartTag, get, getApplicationInfo, getAttributes, getBodyRawString, getBodyString, getContextAttribute, getContextPath, getCookie, getCSVParameter, getCSVParameter, getDataCondition, getDateFormat, getDBColumn, getDBFunctionName, getDocumentLink, getGUIInfo, getGUIInfoAttri, getHostName, getLabel, getLabelInterface, getLanguage, getLASTAttri, getLongLabel, getMsg, getMsglbl, getNVLAttri, getObject, getParameterNames, getParameterRows, getRequest, getRequestAttribute, getRequestCacheData, getRequestMethod, getRequestParameter, getRequestParameterValues, getRequestValue, getRequestValue, getRequestValues, getReservedParameter, getReservedValue, getResource, getSanitizedBodyString, getScope, getSessionAttribute, getSubstrAttri, getSumRequestValue, getTagName, getTransaction, getUser, getUserEditInfo, getUserInfo, getValsAttri, isAjaxSubmitRequest, isDebug, isNoTransitionRequest, isNull, jspPrint, makeUrl, removeContextAttribute, removeObject, removeRequestAttribute, removeSessionAttribute, set, setAjaxSubmitRequest, setCaseIf, setCaseKey, setCaseNN, setCaseNull, setCaseVal, setContextAttribute, setCookie, setDebug, setLanguage, setLbl, setNoTransitionRequest, setObject, setObject, setParameterNames, setParameterRows, setRequestAttribute, setRequestCacheData, setScope, setSessionAttribute, setUserInfo, startQueryTransaction, sys, sysBool, sysInt, useMainTrans, useQuotCheck, useTag, useXssCheck`

    - ### クラスから継承されたメソッド javax.servlet.jsp.tagext.BodyTagSupport

      `doInitBody, getBodyContent, getPreviousOut, release, setBodyContent`

    - ### クラスから継承されたメソッド javax.servlet.jsp.tagext.TagSupport

      `findAncestorWithClass, getId, getParent, getValue, getValues, removeValue, setPageContext, setParent, setValue`

    - ### クラスから継承されたメソッド java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

    - ### インタフェースから継承されたメソッド javax.servlet.jsp.tagext.Tag

      `getParent, setPageContext, setParent`

- - ### コンストラクタの詳細

    - #### OptionTag

          public OptionTag()

      デフォルトコンストラクター
      変更履歴:
        6.4.2.0 (2016/01/29) PMD refactoring. Each class should declare at least one constructor.

  - ### メソッドの詳細

    - #### makeTag

          protected java.lang.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を作成します。

    - #### setValue

          public void setValue​(java.lang.String val)

      【TAG】値を指定します。
      パラメータ:
        `val` - 値
      説明:
        ここで指定した値がプルダウンメニュー中に存在する場合、選択状態になります。

    - #### setLabel

          public void setLabel​(java.lang.String label)

      【TAG】optionタグのラベルを指定します。
      パラメータ:
        `label` - ラベル
      説明:
        ここでのラベルは、optionタグのラベルです。(lbl属性は、異なります。) これは、optgroup とともに使用される階層化メニュー時に使用されます。

    - #### setCodeName

          public void setCodeName​(java.lang.String name)

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

    - #### setSelected

          public void setSelected​(java.lang.String sel)

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

    - #### setLbls

          public void setLbls​(java.lang.String lbls)

      【TAG】ラベルをCSV形式で複数指定します。
      パラメータ:
        `lbls` - 複数ラベルID(CSV形式)
      説明:
        シングルラベルの lbl 属性との違いは,ここではラベルを複数 CSV形式で 渡すことが可能であることです。これにより、"A,B,C" という値に対して、 "Aのラベル表示,Bのラベル表示,Cのラベル表示" という具合に文字列を 再合成します。 これは、SQL文のOrdr By 句で、ソート順を指定する場合などに便利です。 <og:option lbls="MKNMJP,MKCD,MKNMEN" /> 分解方法は、CSV変数を先に分解してから、getRequestParameter で値を取得します。 こうしないとデータ自身にカンマを持っている場合に分解をミスる為です。
      変更履歴:
        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だけリソース変換します。

    - #### toString

          public java.lang.String toString()

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