org.opengion.hayabusa.taglib

## クラス FrameTag

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

- すべての実装されたインタフェース:
    java.io.Serializable, javax.servlet.jsp.tagext.BodyTag, javax.servlet.jsp.tagext.IterationTag, javax.servlet.jsp.tagext.JspTag, javax.servlet.jsp.tagext.Tag, javax.servlet.jsp.tagext.TryCatchFinally
  直系の既知のサブクラス:
    IframeTag

      public class FrameTag
      extends HTMLTagSupport

  フレームを作成するHTML拡張タグで、引数の受け渡しが可能です。
  関連項目:
    直列化された形式
  形式サンプル:

         ●形式：<og:frame src="…" name="…" />
         ●body：なし

         ●Tag定義：
           <og:frame
               src              ○【HTML】フレームに表示するソースファイルを指定します(必須)。
               name             ○【HTML】フレーム名を指定します(例：QUERY,RESULT,CONTENTS など)(必須)。
               changeGamen        【TAG】ソース指定の画面を変更します
               keys               【TAG】引数を指定します
               dbTable            【TAG】前ページで選択したデータ列の情報を次のページに渡すかどうか[true/false]を指定します(初期値:false)
               longdesc           【HTML】フレームに関する詳しい説明のあるURL(lobgdesc)を指定します
               marginwidth        【HTML】フレームの左右余白サイズ(marginwidth)を指定します
               marginheight       【HTML】フレームの上下余白サイズ(marginheight)を指定します
               noresize           【HTML】フレームサイズを変更できないよう(noresize)に指定します
               scrolling          【HTML】スクロールバー(scrolling)の表示/非表示[auto/yes/no]を指定します(初期値:auto)
               frameborder        【HTML】フレームの境界線(frameborder)の[0:非表示/1:表示]を指定します(初期値:1)
               id                 【HTML】要素に対して固有の名前(id)をつける場合に設定します
               clazz              【HTML】要素に対して class 属性を設定します
               title              【HTML】要素に対する補足的情報(title)を設定します
               style              【HTML】この要素に対して適用させるスタイルシート(style)を設定します
               caseKey            【TAG】このタグ自体を利用するかどうかの条件キーを指定します(初期値:null) 5.7.7.2 (2014/06/20)
               caseVal            【TAG】このタグ自体を利用するかどうかの条件値を指定します(初期値:null) 5.7.7.2 (2014/06/20)
               caseNN             【TAG】指定の値が、null/ゼロ文字列 でない場合(Not Null=NN)は、このタグは使用されます(初期値:true) 5.7.7.2 (2014/06/20)
               caseNull           【TAG】指定の値が、null/ゼロ文字列 の場合は、このタグは使用されます(初期値:true) 5.7.7.2 (2014/06/20)
               forceEnc			【TAG】先頭[のデータも強制的にURLエンコードをかけるかどうか指定します。(初期値:false)
               debug              【TAG】デバッグ情報を出力するかどうか[true/false]を指定します(初期値:false)
           />

         ●使用例：
            ・一般的な例：フレーム分割する構文は、HTML準拠。リクエスト変数は各フレームまで転送されます。
            <frameset>
                <og:frame marginheight="2" marginwidth="2" src="query.jsp"   name="QUERY"  />
                <og:frame marginheight="2" marginwidth="2" src="forward.jsp" name="RESULT" />
            </frameset>

            ・DBTableModel の値(例ではPN)を、取り出して、リクエスト変数として利用します。
              現状では、commonForward タグ の useTableData="true" dbkeys="{@dbkeys}" 属性を利用します。
            <frameset>
                <og:frame marginheight="2" marginwidth="2" src="query.jsp"   name="QUERY"  keys="PN" dbTable="true" />
                <og:frame marginheight="2" marginwidth="2" src="forward.jsp" name="RESULT" keys="PN" dbTable="true" />
            </frameset>

            ・changeGamen 属性を利用して、ソース指定の画面を切り替えます。
              たとえば、jsp/index.jsp では、GAMENID属性がURLに存在する場合、直接その画面を
              表示させることができます。
            <frameset cols="160,*,0" frameborder="1" framespacing="1">
                <og:frame marginheight="2" marginwidth="2" src="menu/menu.jsp"    name="MENU" />
                <og:frame marginheight="2" marginwidth="2" src="GE0000/index.jsp" name="CONTENTS"
                                                            changeGamen="{@GAMENID}" />
            </frameset>

  機能分類
    画面部品
  バージョン
    4.0
  作成者
    Kazuhiko Hasegawa
  導入されたバージョン:
    JDK5.0,

- - ### フィールドのサマリー

    フィールド
    修飾子とタイプ | フィールドと説明
    --- | ---
    `protected java.lang.String` | `changeGmn`
    `protected boolean` | `dbTable`
    `protected boolean` | `useForceEnc`

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

  - ### コンストラクタのサマリー

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

  - ### メソッドのサマリー

    メソッド
    修飾子とタイプ | メソッドと説明
    --- | ---
    `protected java.lang.String` | `getUrlEncode()` keys 属性 を元に、request情報より values の値を取り込む。
    `protected boolean` | `isNormalRequestKey(java.lang.String key)` 標準的な リクエスト情報かどうかを判断します。
    `protected java.lang.String` | `makeTag()` リンクを作成します。
    `protected void` | `readObject(java.io.ObjectInputStream strm)` シリアライズ用のカスタムシリアライズ読み込みメソッド ここでは、transient 宣言された内部変数の内、初期化が必要なフィールドのみ設定します。
    `protected void` | `release2()` タグリブオブジェクトをリリースします。
    `void` | `setChangeGamen(java.lang.String src)` 【TAG】ソース指定の画面を変更します。
    `void` | `setDbTable(java.lang.String db)` 【TAG】前ページで選択したデータ列の情報を次のページに渡すかどうか[true/false]を指定します(初期値:false)。
    `void` | `setForceEnc(java.lang.String flg)` 【TAG】valsの値が[で開始している場合でもURLEncodeを通すかを設定します(初期値:false)。
    `void` | `setFrameborder(java.lang.String frameborder)` 【HTML】フレームの境界線(frameborder)の[0:非表示/1:表示]を指定します(初期値:1)。
    `protected void` | `setIdName()` id 属性 / name 属性 セット フレーム名は id 属性で登録する(XHTML) 互換性のため、 id 属性と name 属性には同じ値をセットしておく。
    `void` | `setKeys(java.lang.String key)` 【TAG】引数を指定します。
    `void` | `setLongdesc(java.lang.String longdesc)` 【HTML】フレームに関する詳しい説明のあるURL(lobgdesc)を指定します。
    `void` | `setMarginheight(java.lang.String marginheight)` 【HTML】フレームの上下余白サイズ(marginheight)を指定します。
    `void` | `setMarginwidth(java.lang.String marginwidth)` 【HTML】フレームの左右余白サイズ(marginwidth)を指定します。
    `void` | `setName(java.lang.String name)` 【HTML】フレーム名を指定します(例：QUERY,RESULT,CONTENTS など)。
    `void` | `setNoresize(java.lang.String noresize)` 【HTML】フレームサイズを変更できないよう(noresize)に指定します。
    `void` | `setScrolling(java.lang.String scrolling)` 【HTML】スクロールバー(scrolling)の表示/非表示[auto/yes/no]を指定します(初期値:auto)。
    `void` | `setSrc(java.lang.String src)` 【HTML】フレームに表示するソースファイルを指定します。
    `java.lang.String` | `toString()` このオブジェクトの文字列表現を返します。
    `protected void` | `writeObject(java.io.ObjectOutputStream strm)` シリアライズ用のカスタムシリアライズ書き込みメソッド

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

      `doEndTag, 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`

- - ### フィールドの詳細

    - #### changeGmn

          protected java.lang.String changeGmn

    - #### dbTable

          protected boolean dbTable

    - #### useForceEnc

          protected boolean useForceEnc

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

    - #### FrameTag

          public FrameTag()

  - ### メソッドの詳細

    - #### release2

          protected void release2()

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

        2.0.0.4 (2002/09/27) カスタムタグの release() メソッドを、追加
        3.1.1.2 (2003/04/04) Tomcat4.1 対応。release2() を doEndTag()で呼ぶ。
        5.10.15.3 (2019/09/27) forceEnc追加

    - #### makeTag

          protected java.lang.String makeTag()

      リンクを作成します。
      定義:
        `makeTag` クラス内 `HTMLTagSupport`
      戻り値:
        リンクタグ文字列
      変更履歴:

        3.5.4.0 (2003/11/25) comand="RENEW" 時には、dbTable 属性は、強制的に false とします。

    - #### setIdName

          protected void setIdName()

      id 属性 / name 属性 セット フレーム名は id 属性で登録する(XHTML) 互換性のため、 id 属性と name 属性には同じ値をセットしておく。
      変更履歴:

        5.9.1.2 (2015/10/23) 継承先のiframeタグで利用するためprivateからprotectedに

    - #### getUrlEncode

          protected java.lang.String getUrlEncode()

      keys 属性 を元に、request情報より values の値を取り込む。 keys属性は キー情報がカンマ区切りになっている為,ばらして values属性の配列に一つづつ設定していきます。
      戻り値:
        URLエンコードされた文字列
      変更履歴:

        2.0.0.2 (2002/09/24) 検索結果の値を取り込めていなかったバグを修正。
        2.1.1.1 (2002/11/15) 選択行情報を取り込めていなかったバグを修正。
        3.4.0.3 (2003/09/10) DBTableModelへのリクエスト情報をURLに連結しないように変更。
        4.0.0.0 (2005/01/31) getParameterRows() を使用するように変更
        5.9.1.2 (2015/10/23) 継承先のiframeタグで利用するためprivateからprotectedに
        5.10.15.3 (2019/09/27) forceEnc追加

    - #### setSrc

          public void setSrc(java.lang.String src)

      【HTML】フレームに表示するソースファイルを指定します。
      パラメータ:
        `src` - ソースファイル
      説明:

             フレームに表示するソースファイルを指定します。

    - #### setName

          public void setName(java.lang.String name)

      【HTML】フレーム名を指定します(例：QUERY,RESULT,CONTENTS など)。
      パラメータ:
        `name` - フレーム名
      説明:

             フレーム名を指定します。

    - #### setLongdesc

          public void setLongdesc(java.lang.String longdesc)

      【HTML】フレームに関する詳しい説明のあるURL(lobgdesc)を指定します。
      パラメータ:
        `longdesc` - 詳しい説明のあるURL
      説明:

             lobgdescを指定します。

    - #### setMarginwidth

          public void setMarginwidth(java.lang.String marginwidth)

      【HTML】フレームの左右余白サイズ(marginwidth)を指定します。
      パラメータ:
        `marginwidth` - 左右余白サイズ
      説明:

             フレームの左右余白サイズを指定します。

    - #### setMarginheight

          public void setMarginheight(java.lang.String marginheight)

      【HTML】フレームの上下余白サイズ(marginheight)を指定します。
      パラメータ:
        `marginheight` - 上下余白サイズ
      説明:

             フレームの上下余白サイズを指定します。

    - #### setNoresize

          public void setNoresize(java.lang.String noresize)

      【HTML】フレームサイズを変更できないよう(noresize)に指定します。
      パラメータ:
        `noresize` - フレームサイズを変更させない場合は、"noresize" を指定します。
      説明:

             フレームサイズを変更できないように指定します。

    - #### setScrolling

          public void setScrolling(java.lang.String scrolling)

      【HTML】スクロールバー(scrolling)の表示/非表示[auto/yes/no]を指定します(初期値:auto)。
      パラメータ:
        `scrolling` - スクロールバーの表示/非表示[auto:自動/yes:常時表示/no:非表示]
      説明:

             auto:必要に応じてスクロールバーを表示(初期値)
             yes:常にスクロールバーを表示
             no:常にスクロールバーを表示しない

    - #### setFrameborder

          public void setFrameborder(java.lang.String frameborder)

      【HTML】フレームの境界線(frameborder)の[0:非表示/1:表示]を指定します(初期値:1)。
      パラメータ:
        `frameborder` - フレームの境界線[0:枠非表示/1:枠表示]
      説明:

             0:枠を表示しない
             1:枠を表示する。
             初期値は、1:枠を表示する です。

    - #### setChangeGamen

          public void setChangeGamen(java.lang.String src)

      【TAG】ソース指定の画面を変更します。
      パラメータ:
        `src` - 置換えソース
      説明:

             src 指定がデフォルト設定で、changeGamen属性が設定されている
             場合には、この値が優先されます。
             changeGamen は、画面IDのみ指定してください。src には、このID＋"/index.jsp" が
             追加されます。つまり、changeGamen="{@GAMENID}" という指定をしておけば、
             FavoriteLinkTag 等で引数に GAMENID が指定された場合のみ、この属性が有効になり、
             src="実画面ID/index.jsp" が指定されたことと同じ結果になります。

      変更履歴:

        3.1.2.0 (2003/04/07) 画面IDと実画面ディレクトリとの関連見直し(DIRの代りにGAMENIDを推奨)
        4.2.1.1 (2008/04/30) 画面切り替えをするのは、アドレスが設定されいる場合に限る

    - #### setKeys

          public void setKeys(java.lang.String key)

      【TAG】引数を指定します。
      パラメータ:
        `key` - 引数
      説明:

             URL の引数にセットするキーを カンマ区切りでセットします。

    - #### setDbTable

          public void setDbTable(java.lang.String db)

      【TAG】前ページで選択したデータ列の情報を次のページに渡すかどうか[true/false]を指定します(初期値:false)。
      パラメータ:
        `db` - 選択データを次のページに渡すかどうか[true:渡す/false:渡さない]
      説明:

             ただし、１行分のデータのみです。(複数選択時は、最初の１件目)
             true:渡す
             false:渡さない。
             初期値は、false:渡さない です。

    - #### setForceEnc

          public void setForceEnc(java.lang.String flg)

      【TAG】valsの値が[で開始している場合でもURLEncodeを通すかを設定します(初期値:false)。
      パラメータ:
        `flg` -
      説明:

             テーブルモデルの値の変換のため、通常は先頭が[の場合はエンコードがかかりません。
             強制的にかける場合にtrueにします。

      変更履歴:

        5.10.15.3 (2019/09/27) forceEnc追加

    - #### isNormalRequestKey

          protected boolean isNormalRequestKey(java.lang.String key)

      標準的な リクエスト情報かどうかを判断します。 これは、引数のキーが、HybsSystem.ROW_SEL_KEY か、 DBTableModel で送信されたキー( キー__番号)形式の場合は false を返します。 通常のリクエストキーとして扱いたくない場合の判定に使用します。
      パラメータ:
        `key` - 判定するキー
      戻り値:
        標準的な リクエスト情報かどうか [true:標準的/false:それ以外]
      変更履歴:

        3.4.0.3 (2003/09/10) 新規追加
        3.5.2.0 (2003/10/20) システムパラメータ の FRAME_UNDER_BAR_REQUEST_KEY_USED を使用。
        3.5.5.0 (2004/03/12) 名前と行番号の区切り記号("__")を、HybsSystem.JOINT_STRING に変更。
        5.9.1.2 (2015/10/23) iframeタグで利用のためprotected化

    - #### writeObject

          protected void writeObject(java.io.ObjectOutputStream strm)
                              throws java.io.IOException

      シリアライズ用のカスタムシリアライズ書き込みメソッド
      パラメータ:
        `strm` - ObjectOutputStreamオブジェクト
      例外:
        `java.io.IOException` - シリアライズに関する入出力エラーが発生した場合
      変更履歴:

        4.0.0.0 (2006/09/31) 新規追加
        5.9.1.2 (2015/10/23) iframeタグで利用のためprotected化

    - #### readObject

          protected void readObject(java.io.ObjectInputStream strm)
                             throws java.io.IOException,
                                    java.lang.ClassNotFoundException

      シリアライズ用のカスタムシリアライズ読み込みメソッド ここでは、transient 宣言された内部変数の内、初期化が必要なフィールドのみ設定します。
      パラメータ:
        `strm` - ObjectInputStreamオブジェクト
      例外:
        `java.io.IOException` - シリアライズに関する入出力エラーが発生した場合
        `java.lang.ClassNotFoundException` - クラスを見つけることができなかった場合
      関連項目:
        `release2()`
      変更履歴:

        4.0.0.0 (2006/09/31) 新規追加
        5.9.1.2 (2015/10/23) iframeタグで利用のためprotected化

    - #### toString

          public java.lang.String toString()

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

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