クラス 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
,DynamicAttributes
,IterationTag
,JspTag
,Tag
,TryCatchFinally
,Serializable
プルダウンメニューの選択項目を作成する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,
-
フィールドの概要
クラスから継承されたフィールド 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
-
コンストラクタの概要
コンストラクタ -
メソッドの概要
修飾子とタイプメソッド説明protected String
makeTag()
ラベルを作成します。void
setCodeName
(String name) 【TAG】コードセレクトのユニークキー(コード名称)をセットします。void
【TAG】ラベルをCSV形式で複数指定します。void
setSelected
(String sel) 【TAG】オプションを選択済みの状態(selected)にセットします(初期値:未選択)。toString()
このオブジェクトの文字列表現を返します。クラスから継承されたメソッド org.opengion.hayabusa.taglib.HTMLTagSupport
doEndTag, getMustType, makeAimaiPicker, makeMustHidden, release2, setAccesskey, setAimai, setAutofocus, setClazz, setDisabled, setDynamicAttribute, setMust, setMustAny, setOptionAttributes, setPlaceholder, setReadonly, setRequired, setRoles, setTitle, setUseAttStrict, 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, useStrict, useTag, useXssCheck
クラスから継承されたメソッド jakarta.servlet.jsp.tagext.BodyTagSupport
doInitBody, getBodyContent, getPreviousOut, release, setBodyContent
クラスから継承されたメソッド jakarta.servlet.jsp.tagext.TagSupport
findAncestorWithClass, getId, getParent, getValue, getValues, removeValue, setId, 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
ラベルを作成します。 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
【TAG】オプションを選択済みの状態(selected)にセットします(初期値:未選択)。- パラメータ:
sel
- 選択済み状態 [selected:選択済み/それ以外:未選択]- 説明:
- selected="selected" または selected="true" 以外の値はセットできないように 制限をかけます。 初期値は、未選択 です。
-
setLbls
【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
【TAG】コードセレクトのユニークキー(コード名称)をセットします。- パラメータ:
name
- メニューのユニークキー- 変更履歴:
- 7.0.5.1 (2019/09/27) 新規作成, 8.5.3.0 (2023/09/08) DynamicAttributes対応
- 説明:
- このキーを元に、CodeData オブジェクトを構築します。 option をリソースから出力することができます。
-
toString
このオブジェクトの文字列表現を返します。 基本的にデバッグ目的に使用します。- オーバーライド:
toString
クラス内CommonTagSupport
- 戻り値:
- このクラスの文字列表現
- 変更履歴:
- 5.7.1.0 (2013/12/06) selVal と、multipleAll をローカル変数化する。
- このメソッドは、nullを返しません
-