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, javax.servlet.jsp.tagext.BodyTag, javax.servlet.jsp.tagext.IterationTag, javax.servlet.jsp.tagext.JspTag, javax.servlet.jsp.tagext.Tag, javax.servlet.jsp.tagext.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タグのラベルを指定します
               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` | `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, getSumRequestValue, getTagName, getTransaction, getUser, getUserEditInfo, getUserInfo, 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 属性対応

    - #### setValue

          public void setValue(java.lang.String val)

      【TAG】値を指定します。
      パラメータ:
        `val` - 値
      説明:

             ここで指定した値がプルダウンメニュー中に存在する場合、選択状態になります。

    - #### setLabel

          public void setLabel(java.lang.String label)

      【TAG】optionタグのラベルを指定します。
      パラメータ:
        `label` - ラベル
      説明:

             ここでのラベルは、optionタグのラベルです。(lbl属性は、異なります。)
             これは、optgroup とともに使用される階層化メニュー時に使用されます。

    - #### 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を返しません

Webアプリケーションフレームワーク openGion
Copyright (c) 2009 The openGion Project.