パッケージ 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()`
  ﾗﾍﾞﾙを作成します｡ lbl 属性でｾｯﾄされた場合は、そちらを優先します｡ ｾｯﾄされていない場合は、value 属性をｷｰに、 LabelResource ﾌﾟﾛﾊﾟﾃｨの値をｾｯﾄします｡ value 属性に、ｶﾝﾏ(,)で区切られた複数の Label を ｾｯﾄできます｡
  `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, 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だけﾘｿｰｽ変換します｡, 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 で値を取得します｡ こうしないとﾃﾞｰﾀ自身にｶﾝﾏを持っている場合に分解をﾐｽる為です｡

  - ### toString

    public String toString()
    このｵﾌﾞｼﾞｪｸﾄの文字列表現を返します｡ 基本的にﾃﾞﾊﾞｯｸﾞ目的に使用します｡
    オーバーライド:
      `toString` クラス内 `CommonTagSupport`
    戻り値:
      このｸﾗｽの文字列表現
    変更履歴:
      5.7.1.0 (2013/12/06) selVal と、multipleAll をﾛｰｶﾙ変数化する｡
    このﾒｿｯﾄﾞは、nullを返しません