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

# クラス OptionTag

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

すべての実装されたインタフェース:
  `BodyTag`, `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 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>
導入されたバージョン:
  JDK5.0,

- ## フィールドの概要

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

  `BR, BUFFER_MIDDLE, CR`

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

  `bodyContent`

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

  `id, pageContext`

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

  `EVAL_BODY_BUFFERED, EVAL_BODY_TAG`

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

  `EVAL_BODY_AGAIN`

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

  `EVAL_BODY_INCLUDE, EVAL_PAGE, SKIP_BODY, SKIP_PAGE`

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

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

- ## メソッドの概要

  修飾子とタイプ
  メソッド
  説明
  `protected String`
  `makeTag()`
  ラベルを作成します。
  `void`
  `setCodeName(String name)`
  【TAG】コードセレクトのユニークキー(コード名称)をセットします。
  `void`
  `setLabel(String label)`
  【TAG】optionタグのラベルを指定します。
  `void`
  `setLbls(String lbls)`
  【TAG】ラベルをCSV形式で複数指定します。
  `void`
  `setSelected(String sel)`
  【TAG】オプションを選択済みの状態(selected)にセットします(初期値:未選択)。
  `void`
  `setValue(String val)`
  【TAG】値を指定します。
  `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, getDateFormat, getDBColumn, getDBFunctionName, getDocumentLink, getGUIInfo, getGUIInfoAttri, getHostName, getLabel, getLabelInterface, getLanguage, getLongLabel, getMsg, getMsglbl, getObject, getParameterNames, getParameterRows, getRequest, getRequestAttribute, getRequestCacheData, getRequestMethod, getRequestParameter, getRequestParameterValues, getRequestValue, getRequestValue, getRequestValues, getReservedParameter, getReservedValue, getResource, getSanitizedBodyString, getScope, getSessionAttribute, 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`

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

  `doInitBody, getBodyContent, getPreviousOut, release, setBodyContent`

  ### クラスから継承されたメソッド jakarta.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`

  ### インタフェースから継承されたメソッド jakarta.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 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(String val)
    【TAG】値を指定します。
    パラメータ:
      `val` - 値
    説明:
      ここで指定した値がプルダウンメニュー中に存在する場合、選択状態になります。

  - ### setLabel

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

  - ### setCodeName

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

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

  - ### toString

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