org.opengion.hayabusa.taglib

## クラス PopupTag

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

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

      public class PopupTag
      extends HTMLTagSupport

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

         ●形式：<og:popup gamenId="…" href="…" keys="…,…" vals="…,…" rtnKeys="…,…" />
         ●body：なし

         ●Tag定義：
           <og:popup
               name               【TAG】この要素をリンクの対象とするための名前を指定します
               gamenId            【TAG】画面ID属性を登録します
               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)は、このタグは使用されます(初期値:true)
               caseNull           【TAG】指定の値が、null/ゼロ文字列 の場合は、このタグは使用されます(初期値: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 属性を設定します
               lbl                【TAG】ラベルリソースのラベルIDを指定します
               language           【TAG】タグ内部で使用する言語コード[ja/en/zh/…]を指定します
               command            【TAG】(通常使いません)処理の実行を指定する command を設定できます(初期値:NEW)
               append             【TAG】返ってきた値をキャレット位置に追記するかどうか(初期値：false)
               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 部分)

  変更履歴:

    3.8.6.1 (2006/10/20) 新規作成

  機能分類
    画面部品
  バージョン
    0.9.0 2000/10/17
  作成者
    Kazuhiko Hasegawa
  導入されたバージョン:
    JDK1.1,

- - ### フィールドの概要

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

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

    コンストラクタ
    コンストラクタと説明
    `PopupTag()`

  - ### メソッドの概要

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

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

      `getMustType, isUseHTML5, 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, check, commitTableObject, debugPrint, doAfterBody, doCatch, doFinally, doStartTag, get, getApplicationInfo, getAttributes, getBodyRawString, getBodyString, getContextAttribute, getContextPath, getCookie, getCSVParameter, getDataCondition, getDateFormat, getDBColumn, getDBFunctionName, getDocumentLink, getGUIInfo, getGUIInfoAttri, getHostName, getLabel, getLabelInterface, getLanguage, getLASTAttri, getLongLabel, getMsglbl, getNVLAttri, getObject, getParameterNames, getParameterRows, getRequest, getRequestAttribute, getRequestCacheData, getRequestMethod, getRequestParameter, getRequestParameterValues, getRequestValue, getRequestValue, getRequestValues, getReservedParameter, getReservedValue, getResource, getSanitizedBodyString, getScope, getSessionAttribute, getTagName, getUser, getUserEditInfo, getUserInfo, isAjaxSubmitRequest, isDebug, isNoTransitionRequest, isNull, jspPrint, removeContextAttribute, removeObject, removeRequestAttribute, removeSessionAttribute, set, setAjaxSubmitRequest, 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`

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

    - #### PopupTag

          public PopupTag()

  - ### メソッドの詳細

    - #### doEndTag

          public int doEndTag()

      Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。
      定義:
        `doEndTag` インタフェース内 `Tag`
      オーバーライド:
        `doEndTag` クラス内 `HTMLTagSupport`
      戻り値:
        後続処理の指示
      変更履歴:

        5.2.2.0 (2010/11/01) caseKey 、caseVal 属性対応

    - #### makeTag

          protected java.lang.String makeTag()

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

    - #### release2

          protected void release2()

      タグリブオブジェクトをリリースします。 キャッシュされて再利用されるので、フィールドの初期設定を行います。
      オーバーライド:
        `release2` クラス内 `HTMLTagSupport`

    - #### setName

          public void setName(java.lang.String name)

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

             この要素をリンクの対象とするための名前を指定します。

    - #### setColumn

          public void setColumn(java.lang.String clm)

      【TAG】リンクをつけたいカラムを指定します。
      パラメータ:
        `clm` - カラム名
      説明:

             このカラム名のTableModelに対して、 ViewLink タグが存在する場合は,
             リンクを張ります。

    - #### setGamenId

          public void setGamenId(java.lang.String id)

      【TAG】画面ID属性を登録します。
      パラメータ:
        `id` - 画面ID
      説明:

             gamenId 属性は、画面IDをキーに、実アドレスを求めるのに使用します。
             画面IDが指定された場合は、実アドレスに変換する。指定されない場合は、
             href 属性をそのままリンク情報を作成します。
             画面IDを指定する場合の href は、JSPファイル名(例えば、index.jsp 等)です。

    - #### setHref

          public void setHref(java.lang.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(java.lang.String charset)

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

             ポップアップ先の文字コードセットを指定します。

    - #### setTarget

          public void setTarget(java.lang.String target)

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

             ポップアップ先の表示ターゲットを指定します。

    - #### setKeys

          public void setKeys(java.lang.String key)

      【TAG】ポップアップ先に渡す入力キー配列をCSV形式で複数指定します。
      パラメータ:
        `key` - 渡す入力キー配列(CSV形式)
      説明:

             ポップアップ先に渡す入力キー配列を指定します。
             分解方法は、CSV変数を先に分解してから、getRequestParameter で値を取得します。
             こうしないとデータ自身にカンマを持っている場合に分解をミスる為です。

    - #### setVals

          public void setVals(java.lang.String val)

      【TAG】ポップアップ先に渡す値配列をCSV形式で複数指定します。
      パラメータ:
        `val` - 渡す値配列(CSV形式)
      説明:

             ポップアップ先に渡す値配列を指定します。
             分解方法は、CSV変数を先に分解してから、getRequestParameter で値を取得します。
             こうしないとデータ自身にカンマを持っている場合に分解をミスる為です。

    - #### setRtnKeys

          public void setRtnKeys(java.lang.String key)

      【TAG】ポップアップ先より受け取るキー配列をCSV形式で複数指定します。
      パラメータ:
        `key` - 受け取るキー配列(CSV形式)
      説明:

             ポップアップ先より受け取るキー配列を指定します。
             分解方法は、CSV変数を先に分解してから、getRequestParameter で値を取得します。
             こうしないとデータ自身にカンマを持っている場合に分解をミスる為です。

    - #### setOnMark

          public void setOnMark(java.lang.String flag)

      【TAG】リンクを張る(true or 1)/張らない(false or 0)の設定を指定します(初期値:true)。
      パラメータ:
        `flag` - リンクの設定[true:リンクを張る/それ以外:リンクを張らない]
      説明:

             リンクを張る場合は、"true"(または "1") リンクを張らない
             場合は, "true以外"(または "0")をセットします。
             初期値は、 "true"(リンクを張る)です。
             さらに、[カラム名] で、動的にカラムの値で、リンクを張る、張らないを
             選ぶ事が可能になります。値は、"true"(または "1") で、マークします。
             ただし、単独 linkタグ時は使用できません。
             追記 3.5.2.0 (2003/10/20)：markList属性に、処理対象文字列郡を指定できます。
             これにより、リンクを処理するかどうかの判断が、true,1 以外にも使用できるようになりました。

    - #### setMarkList

          public void setMarkList(java.lang.String list)

      【TAG】処理するマークを、"|"区切りの文字列で指定します。
      パラメータ:
        `list` - 処理するマーク(indexOf による含む/含まない判定)
      説明:

             markListで与えられた文字列に、onMark文字列(大文字/小文字の区別あり)が
             含まれていれば、処理します。
             例えば、"A","B","C" という文字列が、onMark で指定された
             場合に処理するようにしたい場合は、"A|B|C" をセットします。
             markList には、[カラム名]指定が可能です。(ただし、単独 linkタグ時は除く)
             初期値は、 "true|TRUE|1"です。

    - #### setHeight

          public void setHeight(java.lang.String ht)

      【TAG】ダイアログの縦幅をピクセル数で指定します。
      パラメータ:
        `ht` - ダイアログの縦幅(ピクセル数)
      説明:

             縦幅を指定します。単位も含めて入力してください。
             設定しない場合は、ogPopup JavaScript の内部初期値が採用されます。

      変更履歴:

        5.2.1.0 (2010/10/01) height、width には、"px" などの単位を付ける前提での対応

    - #### setWidth

          public void setWidth(java.lang.String wh)

      【TAG】ダイアログの横幅をピクセル数で指定します。
      パラメータ:
        `wh` - ダイアログの横幅(ピクセル数)
      説明:

             横幅を指定します。単位も含めて入力してください。
             設定しない場合は、ogPopup JavaScript の内部初期値が採用されます。

      変更履歴:

        5.2.1.0 (2010/10/01) height、width には、"px" などの単位を付ける前提での対応

    - #### setSrc

          public void setSrc(java.lang.String src)

      【TAG】表示させる画像のURLを指定します。
      パラメータ:
        `src` - 画像のURL
      説明:

             この属性を設定すると、自動的に イメージリンクでの onClick属性で
             ポップアップの起動画面を作成します。
             この属性が設定されていない場合は、button での起動になります。

    - #### setCommand

          public void setCommand(java.lang.String cmd)

      【TAG】(通常使いません)処理の実行を指定する command を設定できます(初期値:NEW)。
      パラメータ:
        `cmd` - コマンド
      説明:

             ここで指定されたcommandは、ポップアップ画面の引数として渡されます。
             初期値は、NEW です。

      変更履歴:

        5.1.7.0 (2010/06/01) 新規作成

    - #### setAppend

          public void setAppend(java.lang.String flg)

      【TAG】返り値をキャレット位置に追記する(true)/しない(false)の設定を指定します(初期値:false)。
      パラメータ:
        `flg` - 返り値のキャレット位置に追記設[true:追記/それ以外:置換]
      説明:

             ポップアップからの返り値を、元の値と置換するのではなく、キャレット位置に挿入するかどうかを指定します。

      変更履歴:

        5.8.5.0 (2015/02/06)

    - #### toString

          public java.lang.String toString()

      このオブジェクトの文字列表現を返します。 基本的にデバッグ目的に使用します。
      オーバーライド:
        `toString` クラス内 `CommonTagSupport`
      戻り値:
        このクラスの文字列表現

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