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

# クラス PopupTag

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.PopupTag

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

public class PopupTag extends HTMLTagSupport
テキストフィールドの入力を補助するポップアップを作成します。 通常のテキストフィールドに組み込むケースと、一覧表に組み込むケースに対応しています。 基本的には、columnMarker タグと同じ使い方ですが、フィールドが書き込み許可時に表示させる必要が あるため、実際には、viewMarker の isRendere="false" で使用するケースが多いと思います。 なお、ポップアップ専用なので href="index.jsp" target="CONTENTS" がデフォルトで設定されています。

関連項目:
  - 直列化された形式
変更履歴:
  3.8.6.1 (2006/10/20) 新規作成
機能分類
  画面部品
形式ｻﾝﾌﾟﾙ:
  ●形式：<og:popup gamenId="…" href="…" keys="…,…" vals="…,…" rtnKeys="…,…" /> ●body：なし ●Tag定義： <og:popup name 【TAG】この要素をリンクの対象とするための名前を指定します gamenId 【TAG】画面ID属性を登録します useGamenId 【TAG】GAMENID 属性を付加するかどうか[true/false]を設定します(初期値:true) 7.0.4.0 (2019/05/31) href 【TAG】ポップアップ先のURLを指定します(初期値:index.jsp) keys 【TAG】ポップアップ先に渡す入力キー配列をCSV形式で複数指定します vals 【TAG】ポップアップ先に渡す値配列をCSV形式で複数指定します rtnKeys 【TAG】ポップアップ先より受け取るキー配列をCSV形式で複数指定します column 【TAG】リンクをつけたいカラムを指定します onMark 【TAG】リンクを張る(true or 1)/張らない(false or 0)の設定を指定します(初期値:true) markList 【TAG】処理するマークを、"|"区切りの文字列で指定します height 【TAG】ダイアログの縦幅をピクセル数で指定します width 【TAG】ダイアログの横幅をピクセル数で指定します src 【TAG】表示させる画像のURLを指定します charset 【TAG】ポップアップ先の文字コードセットを指定します target 【TAG】ポップアップ先の表示ターゲットを指定します(初期値:CONTENTS) 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)を設定します tabindex 【HTML】タブの移動順(tabindex)を指定します(0 ～ 32767) accesskey 【HTML】アクセスキー(alt+キーで直接指定)を割り当てます clazz 【HTML】要素に対して class 属性を設定します onClick 【HTML】JavaScriptのイベント onClick を設定します(例:onClick="renew('query.jsp','QUERY');") lbl 【TAG】ラベルリソースのラベルIDを指定します language 【TAG】タグ内部で使用する言語コード[ja/en/zh/…]を指定します command 【TAG】(通常は使いません)処理の実行を指定する command を設定できます(初期値:NEW) append 【TAG】返ってきた値をキャレット位置に追記するかどうか(初期値：false) useSpan 【TAG】buttonではなくspanタグでポップアップを指定するかどうか[true/false]を設定します(初期値:false) 7.0.3.0 (2019/05/13) debug 【TAG】デバッグ情報を出力するかどうか[true/false]を指定します(初期値:false) /> ●使用例 ・普通のポップアップ <og:popup gamenId="GE0002" href="index.jsp" target="CONTENTS" keys="AAA,BBB,CCC" vals="{@AAA},{@B},ABC" rtnKeys="DDD,EEE" /> ・QUERYの入力フィールドに組み込む ①keys、vals、rtnKeys がセットされる場合 　　　　セットされる keys に対して vals の値をポップアップ画面に渡し、ポップアップ画面の戻り値を rtnKeys にセットされます。 <og:column name="AAA" value="{@AAA}" > <og:popup gamenId="GE0002" keys="AAA,BBB,CCC" vals="{@AAA},{@B},ABC" rtnKeys="DDD,EEE" /> </og:column> ②keys、vals、rtnKeys がセットされない場合 　　　　 ポップアップ画面にリクエスト変数 XNAME に外側のカラム名、XVALUE にカラムの入力値、rtnKeys にカラム名を自動的にセットされます。 <og:column name="AAA" value="{@AAA}" > <og:popup gamenId="GE0002" /> </og:column> ・RESULTの入力フィールドに組み込む(viewMarker 経由) gamenId を指定しなければこの画面へのURLを作成します。 このURLは、その画面の index.jsp に直接ジャンプするためのURLです。 <og:viewMarker command="{@command}" isRenderer="false"> <og:popup gamenId="GE0002" column="ABC" onMark="[ABC]" markList="1|2|3" keys="AAA,BBB,CCC" vals="[AAA],[BBB].value,{@CCC}" rtnKeys="DDD,EEE" /> </og:viewMarker> ・ポップアップ側のJSPファイル(view 部分)
導入されたバージョン:
  JDK1.1,

- ## フィールドの概要

  ### クラスから継承されたフィールド 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`

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

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

- ## メソッドの概要

  修飾子とタイプ
  メソッド
  説明
  `int`
  `doEndTag()`
  Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。
  `protected String`
  `makeTag()`
  使用しません。
  `protected void`
  `release2()`
  タグリブオブジェクトをリリースします。
  `void`
  `setAppend(String flg)`
  【TAG】返り値をキャレット位置に追記する(true)/しない(false)の設定を指定します(初期値:false)。
  `void`
  `setCharset(String charset)`
  【TAG】ポップアップ先の文字コードセットを指定します。
  `void`
  `setColumn(String clm)`
  【TAG】リンクをつけたいカラムを指定します。
  `void`
  `setCommand(String cmd)`
  【TAG】(通常は使いません)処理の実行を指定する command を設定できます(初期値:NEW)。
  `void`
  `setGamenId(String id)`
  【TAG】画面ID を指定します。
  `void`
  `setHeight(String ht)`
  【TAG】ダイアログの縦幅をピクセル数で指定します。
  `void`
  `setHref(String href)`
  【TAG】ポップアップ先のURLを指定します(初期値:index.jsp)。
  `void`
  `setKeys(String key)`
  【TAG】ポップアップ先に渡す入力キー配列をCSV形式で複数指定します。
  `void`
  `setMarkList(String list)`
  【TAG】処理するマークを含むような文字列を、"|"区切りの文字列で指定します(初期値:"true|TRUE|1")。
  `void`
  `setName(String name)`
  【TAG】この要素をリンクの対象とするための名前を指定します。
  `void`
  `setOnMark(String flag)`
  【TAG】マークを処理する(true or 1)/処理しない(false or 0)の設定を指定します(初期値:true)。
  `void`
  `setRtnKeys(String key)`
  【TAG】ポップアップ先より受け取るキー配列をCSV形式で複数指定します。
  `void`
  `setSrc(String src)`
  【TAG】表示させる画像のURLを指定します。
  `void`
  `setTarget(String target)`
  【TAG】ポップアップ先の表示ターゲットを指定します(初期値:CONTENTS)。
  `void`
  `setUseGamenId(String flag)`
  【TAG】GAMENID 属性を付加するかどうか[true/false]を設定します(初期値:true)。
  `void`
  `setUseSpan(String flag)`
  【TAG】buttonではなくテキストでポップアップを指定するかどうか[true/false]を設定します(初期値:false)。
  `void`
  `setVals(String val)`
  【TAG】ポップアップ先に渡す値配列をCSV形式で複数指定します。
  `void`
  `setWidth(String wh)`
  【TAG】ダイアログの横幅をピクセル数で指定します。
  `String`
  `toString()`
  このオブジェクトの文字列表現を返します。

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

  `getMustType, makeAimaiPicker, makeMustHidden, 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`

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

  - ### PopupTag

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

- ## メソッドの詳細

  - ### doEndTag

    public int doEndTag()
    Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。
    定義:
      `doEndTag` インタフェース内 `Tag`
    オーバーライド:
      `doEndTag` クラス内 `HTMLTagSupport`
    戻り値:
      後続処理の指示
    変更履歴:
      5.2.2.0 (2010/11/01) caseKey 、caseVal 属性対応

  - ### makeTag

    protected String makeTag()
    使用しません。
    定義:
      `makeTag` クラス内 `HTMLTagSupport`
    戻り値:
      (null 固定)

  - ### release2

    protected void release2()
    タグリブオブジェクトをリリースします。 キャッシュされて再利用されるので、フィールドの初期設定を行います。
    オーバーライド:
      `release2` クラス内 `HTMLTagSupport`
    変更履歴:
      7.0.3.0 (2019/05/13) GAMENIDの追加(useGamenIdで、GAMENID属性をhrefに追加)

  - ### setName

    public void setName(String name)
    【TAG】この要素をリンクの対象とするための名前を指定します。
    パラメータ:
      `name` - 名前
    説明:
      この要素をリンクの対象とするための名前を指定します。

  - ### setColumn

    public void setColumn(String clm)
    【TAG】リンクをつけたいカラムを指定します。
    パラメータ:
      `clm` - カラム名
    説明:
      このカラム名のTableModelに対して、 ViewLink タグが存在する場合は, リンクを張ります。

  - ### setGamenId

    public void setGamenId(String id)
    【TAG】画面ID を指定します。
    パラメータ:
      `id` - 画面ID
    説明:
      gamenId 属性は、画面IDをキーに、実アドレスを求めるのに使用します。 画面IDが指定された場合は、実アドレスに変換する。指定されない場合は、 href 属性をそのままリンク情報を作成します。 画面IDを指定する場合の href は、JSPファイル名(例えば、index.jsp 等)です。

  - ### setUseGamenId

    public void setUseGamenId(String flag)
    【TAG】GAMENID 属性を付加するかどうか[true/false]を設定します(初期値:true)。
    パラメータ:
      `flag` - GAMENID 属性を付加するかどうか [true:追加する/false:追加しない]
    変更履歴:
      7.0.3.0 (2019/05/13) GAMENIDの追加(useGamenIdで、GAMENID属性をhrefに追加), 7.0.4.0 (2019/05/31) 初期値を true に変更
    説明:
      "true"の場合は、GAMENID 属性を href に追加します。(?KEY1=VAL1&KEY2=VAL2･･･) "false"の場合は、付加しません。 popupなので、BACK_GAMENIDは付与しません。GAMENIDを付与することで、画面のロールやモードを 考慮したポップアップが起動します。 初期値を他のタグと合わせるため、true にしています（互換性はありません）

  - ### setHref

    public void setHref(String href)
    【TAG】ポップアップ先のURLを指定します(初期値:index.jsp)。
    パラメータ:
      `href` - ポップアップ先のURL
    説明:
      通常、gamenId を指定している場合は、それ以降(index.jsp , result.jsp など)を指定します。 通常のリンクの場合、GAMENID/href というアドレスに合成されます。( GE0001/result.jsp など ) (正確には、画面IDではなく、対応する画面ADDRESSを使用します。) ポップアップ専用のリンクなので、初期値は、index.jsp です。

  - ### setCharset

    public void setCharset(String charset)
    【TAG】ポップアップ先の文字コードセットを指定します。
    パラメータ:
      `charset` - 文字コードセット
    説明:
      ポップアップ先の文字コードセットを指定します。

  - ### setTarget

    public void setTarget(String target)
    【TAG】ポップアップ先の表示ターゲットを指定します(初期値:CONTENTS)。
    パラメータ:
      `target` - 表示ターゲット
    説明:
      ポップアップ先の表示ターゲットを指定します。

  - ### setKeys

    public void setKeys(String key)
    【TAG】ポップアップ先に渡す入力キー配列をCSV形式で複数指定します。
    パラメータ:
      `key` - 渡す入力キー配列(CSV形式)
    説明:
      ポップアップ先に渡す入力キー配列を指定します。 分解方法は、CSV変数を先に分解してから、getRequestParameter で値を取得します。 こうしないとデータ自身にカンマを持っている場合に分解をミスる為です。

  - ### setVals

    public void setVals(String val)
    【TAG】ポップアップ先に渡す値配列をCSV形式で複数指定します。
    パラメータ:
      `val` - 渡す値配列(CSV形式)
    説明:
      ポップアップ先に渡す値配列を指定します。 分解方法は、CSV変数を先に分解してから、getRequestParameter で値を取得します。 こうしないとデータ自身にカンマを持っている場合に分解をミスる為です。

  - ### setRtnKeys

    public void setRtnKeys(String key)
    【TAG】ポップアップ先より受け取るキー配列をCSV形式で複数指定します。
    パラメータ:
      `key` - 受け取るキー配列(CSV形式)
    説明:
      ポップアップ先より受け取るキー配列を指定します。 分解方法は、CSV変数を先に分解してから、getRequestParameter で値を取得します。 こうしないとデータ自身にカンマを持っている場合に分解をミスる為です。

  - ### setOnMark

    public void setOnMark(String flag)
    【TAG】マークを処理する(true or 1)/処理しない(false or 0)の設定を指定します(初期値:true)。
    パラメータ:
      `flag` - マークの処理 [true,1:処理する/それ以外:処理しない]
    変更履歴:
      3.5.0.0 (2003/09/17) onMark に、[カラム名] の値をセットできるように修正。
    説明:
      マークを処理する場合は、"true"(または "1") 処理しない場合は, "true以外"(または "0")をセットします。 初期値は、 "true"(マークを処理する)です。 さらに、[カラム名] で、動的にカラムの値で、マークをする、しないを 選ぶ事が可能になります。値は、"true"(または "1") で、マークします。 追記 3.5.2.0 (2003/10/20)：markList属性に、処理対象文字列郡を指定できます。 これにより、マークを処理するかどうかの判断が、true,1 以外にも使用できるようになりました。

  - ### setMarkList

    public void setMarkList(String list)
    【TAG】処理するマークを含むような文字列を、"|"区切りの文字列で指定します(初期値:"true|TRUE|1")。
    パラメータ:
      `list` - 処理するマーク (indexOf による含む/含まない判定)
    説明:
      markListで与えられた文字列に、onMark文字列(大文字/小文字の区別あり)が 含まれていれば、処理します。 例えば、"A","B","C" という文字列が、onMark で指定された 場合に処理するようにしたい場合は、"A|B|C" をセットします。 markList には、[カラム名]指定が可能です。(ただし、単独 linkタグ時は除く) 初期値は、 "true|TRUE|1"です。

  - ### setHeight

    public void setHeight(String ht)
    【TAG】ダイアログの縦幅をピクセル数で指定します。
    パラメータ:
      `ht` - ダイアログの縦幅(ピクセル数)
    変更履歴:
      5.2.1.0 (2010/10/01) height、width には、"px" などの単位を付ける前提での対応
    説明:
      縦幅を指定します。単位も含めて入力してください。 設定しない場合は、ogPopup JavaScript の内部初期値が採用されます。

  - ### setWidth

    public void setWidth(String wh)
    【TAG】ダイアログの横幅をピクセル数で指定します。
    パラメータ:
      `wh` - ダイアログの横幅(ピクセル数)
    変更履歴:
      5.2.1.0 (2010/10/01) height、width には、"px" などの単位を付ける前提での対応
    説明:
      横幅を指定します。単位も含めて入力してください。 設定しない場合は、ogPopup JavaScript の内部初期値が採用されます。

  - ### setSrc

    public void setSrc(String src)
    【TAG】表示させる画像のURLを指定します。
    パラメータ:
      `src` - 画像のURL
    説明:
      この属性を設定すると、自動的に イメージリンクでの onClick属性で ポップアップの起動画面を作成します。 この属性が設定されていない場合は、button での起動になります。

  - ### setCommand

    public void setCommand(String cmd)
    【TAG】(通常は使いません)処理の実行を指定する command を設定できます(初期値:NEW)。
    パラメータ:
      `cmd` - コマンド
    変更履歴:
      5.1.7.0 (2010/06/01) 新規作成
    説明:
      ここで指定されたcommandは、ポップアップ画面の引数として渡されます。 初期値は、NEW です。

  - ### setAppend

    public void setAppend(String flg)
    【TAG】返り値をキャレット位置に追記する(true)/しない(false)の設定を指定します(初期値:false)。
    パラメータ:
      `flg` - 返り値のキャレット位置に追記 [true:追記/それ以外:置換]
    変更履歴:
      5.8.5.0 (2015/02/06)
    説明:
      ポップアップからの返り値を、元の値と置換するのではなく、キャレット位置に挿入するかどうかを指定します。

  - ### setUseSpan

    public void setUseSpan(String flag)
    【TAG】buttonではなくテキストでポップアップを指定するかどうか[true/false]を設定します(初期値:false)。
    パラメータ:
      `flag` - buttonではなくspanタグでポップアップするかどうか [true:する/false:しない]
    変更履歴:
      7.0.3.0 (2019/05/13) buttonではなくspanタグでpopupするかどうか[true/false]を決める属性を追加。
    説明:
      "true"の場合は、spanタグでポップアップのベースとなるタグを作成します。 false は従来通り、ボタンでポップアップのベースを作成します。 srcを指定した場合は、imgタグでポップアップのベースを作成します。 互換性の関係から、初期値は、false にしています。

  - ### toString

    public String toString()
    このオブジェクトの文字列表現を返します。 基本的にデバッグ目的に使用します。
    オーバーライド:
      `toString` クラス内 `CommonTagSupport`
    戻り値:
      このクラスの文字列表現
    このﾒｿｯﾄﾞは、nullを返しません