org.opengion.hayabusa.taglib

## クラス BackGamenTag

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

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

      public class BackGamenTag
      extends HTMLTagSupport

       戻るボタン/戻るリンクを表示するHTML拡張タグです(通常はcustom/query_info.jspに組込み)。

       custom/query_info.jsp に組み込むことで、全てのquery.jspに組込む事ができます。
       戻るボタン/リンクを表示するかどうかの条件判定は、
       　条件1：自分自身へ戻る機能はサポートできません。
       　条件2：BACK_GAMENID が存在するか、または、gamenId で指示された場合のみ表示。
       　条件3：command="NEW" で、キャッシュに設定しておく必要がある。

  関連項目:
    直列化された形式
  形式サンプル:

         ●形式：<og:backGamen keys="･･･" vals="･･･" > ･･Body･･ </og:backGamen>
         ●body：あり(EVAL_BODY_BUFFERED:BODYを評価し、{@XXXX} を解析します)

         ●Tag定義：
           <og:backGamen
               type               【TAG】ボタンのタイプ[link/button/relLink/relButton/historyBack]を指定します(初期値:link)
               command            【TAG】(通常使いません)戻る時に指定する command を設定できます(初期値:RENEW)
               gamenId            【TAG】(通常使いません)戻り先の画面をセットします(初期値:BACK_GAMENID)
               keys               【TAG】リンク先に渡すキーをCSV形式で複数指定します
               vals               【TAG】keys属性に対応する値をCSV形式で複数指定します
               lbl                【TAG】ラベルリソースのラベルIDを指定します
               href               【HTML】リンク先のURLを指定します
               target             【HTML】リンク先の表示ターゲットを指定します(初期値:CONTENTS)
               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+キーで直接指定)を割り当てます(初期値:R)
               clazz              【HTML】要素に対して class 属性を設定します
               language           【TAG】タグ内部で使用する言語コード[ja/en/zh/…]を指定します
               onClick            【HTML】JavaScriptのイベント onClick を設定します(例:onClick="renew('query.jsp','QUERY');")
               onBlur             【HTML】JavaScriptのイベント onBlur を設定します(例:onBlur="this.value=value.toUpperCase();")
               onFocus            【HTML】JavaScriptのイベント onFocus を設定します
               ondblClick         【HTML】JavaScriptのイベント ondblClick を設定します
               onMouseDown        【HTML】JavaScriptのイベント onMouseDown を設定します
               onMouseUp          【HTML】JavaScriptのイベント onMouseUp を設定します
               onMouseMove        【HTML】JavaScriptのイベント onMouseMove を設定します
               onMouseOut         【HTML】JavaScriptのイベント onMouseOut を設定します
               onMouseOver        【HTML】JavaScriptのイベント onMouseOver を設定します
               debug              【TAG】デバッグ情報を出力するかどうか[true/false]を指定します(初期値:false)
           >   ... Body ...
           </og:backGamen>

         ●使用例
           <og:backGamen keys="displayMsg,clear" vals="MSG0065,true" >
               <img src="{@SYS.JSP}/image/back.gif" alt="{@BACK_GAMENID}" />
               <og:message lbl="MSG0049" />
           </og:backGamen>

  変更履歴:

    3.1.8.0 (2003/05/16) 新規作成

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

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

    - ### クラスから継承されたフィールド org.opengion.hayabusa.taglib.CommonTagSupport

      `BR, BUFFER_MIDDLE, CR`

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

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

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

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

    すべてのメソッド インスタンス・メソッド concreteメソッド
    修飾子とタイプ | メソッドと説明
    --- | ---
    `int` | `doAfterBody()` Taglibのタグ本体を処理する doAfterBody() を オーバーライドします。
    `int` | `doStartTag()` Taglibの開始タグが見つかったときに処理する doStartTag() を オーバーライドします。
    `protected String` | `makeTag()` 戻るボタン/戻るリンクを作成します。
    `protected void` | `release2()` タグリブオブジェクトをリリースします。
    `void` | `setCommand(String cmd)` 【TAG】(通常使いません)戻る時に指定する command を設定できます(初期値:RENEW)。
    `void` | `setGamenId(String id)` 【TAG】(通常使いません)戻り先の画面をセットします(初期値:BACK_GAMENID)。
    `void` | `setHref(String href)` 【HTML】リンク先のURLを指定します。
    `void` | `setKeys(String key)` 【TAG】リンク先に渡すキーをCSV形式で複数指定します。
    `void` | `setTarget(String tgt)` 【HTML】リンク先の表示ターゲットを指定します(初期値:CONTENTS)。
    `void` | `setType(String tp)` 【TAG】ボタンのタイプ[link/button/relLink/relButton/historyBack]を指定します(初期値:link)。
    `void` | `setVals(String val)` 【TAG】keys属性に対応する値をCSV形式で複数指定します。

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

      `doEndTag, 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, doCatch, doFinally, get, getApplicationInfo, getAttributes, getBodyRawString, getBodyString, getContextAttribute, getContextPath, getCookie, getCSVParameter, getCSVParameter, getDataCondition, getDateFormat, getDBColumn, getDBFunctionName, getDocumentLink, getGUIInfo, getGUIInfoAttri, getHostName, getLabel, getLabelInterface, getLanguage, getLASTAttri, getLongLabel, getMsg, getMsglbl, getNVLAttri, getObject, getParameterNames, getParameterRows, getRequest, getRequestAttribute, getRequestCacheData, getRequestMethod, getRequestParameter, getRequestParameterValues, getRequestValue, getRequestValue, getRequestValues, getReservedParameter, getReservedValue, getResource, getSanitizedBodyString, getScope, getSessionAttribute, getSumRequestValue, 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, toString, 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`

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

    - #### BackGamenTag

          public BackGamenTag()

      デフォルトコンストラクター
      変更履歴:

        6.4.2.0 (2016/01/29) PMD refactoring. Each class should declare at least one constructor.

  - ### メソッドの詳細

    - #### doStartTag

          public int doStartTag()

      Taglibの開始タグが見つかったときに処理する doStartTag() を オーバーライドします。
      定義:
        `doStartTag` インタフェース内 `Tag`
      オーバーライド:
        `doStartTag` クラス内 `CommonTagSupport`
      戻り値:
        後続処理の指示( EVAL_BODY_BUFFERED )

    - #### doAfterBody

          public int doAfterBody()

      Taglibのタグ本体を処理する doAfterBody() を オーバーライドします。
      定義:
        `doAfterBody` インタフェース内 `IterationTag`
      オーバーライド:
        `doAfterBody` クラス内 `CommonTagSupport`
      戻り値:
        後続処理の指示(SKIP_BODY)

    - #### release2

          protected void release2()

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

    - #### makeTag

          protected String makeTag()

      戻るボタン/戻るリンクを作成します。
      定義:
        `makeTag` クラス内 `HTMLTagSupport`
      戻り値:
        戻るボタン/戻るリンク
      変更履歴:

        3.1.8.0 (2003/05/16) BACK_GAMENID のキャッシュの取り出し先を変更する。
        3.5.4.0 (2003/11/25) 履歴(history)オブジェクトのback() メソッドを利用した戻る機能を追加します。
        4.0.1.0 (2007/12/17) BackAddress対応
        5.0.2.0 (2009/11/01) 相対パスでの戻るリンク対応

    - #### setType

          public void setType(String tp)

      【TAG】ボタンのタイプ[link/button/relLink/relButton/historyBack]を指定します(初期値:link)。
      パラメータ:
        `tp` - ボタンのタイプ [link/button/relLink/relButton/historyBack]
      説明:

             button と設定すると、戻るボタンに、link と設定すると、戻るリンクになります。
             historyBack は、IE等の戻る操作と同じで、JavaScriptのヒストリーバックを行います。
             また、relButton、relLinkとすると、それぞれ相対パス(画面IDから飛び先のアドレスを元に生成)
             で戻り先のアドレスが生成されます。
             初期値は、戻るリンク(link)です。

               ボタンのタイプ説明
               タイプ		説明
               link		戻るリンク
               button		戻るボタン
               relLink	戻るリンク(相対パス)
               relButton	戻るボタン(相対パス)
               historyBack通常のヒストリバックボタン

      変更履歴:

        5.0.2.0 (2009/11/01) 相対パスでの戻るリンク対応

    - #### setCommand

          public void setCommand(String cmd)

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

             通常は、RENEW で戻ります。
             (初期値は、RENEW なので設定不要です。)

    - #### setGamenId

          public void setGamenId(String id)

      【TAG】(通常使いません)戻り先の画面をセットします(初期値:BACK_GAMENID)。
      パラメータ:
        `id` - 戻り先の画面ID
      説明:

             通常は、自動的に、BACK_GAMENID の値がセットされますが、
             先祖に戻る(画面Ａ⇒画面Ｂ⇒画面Ｃ のときに、画面Ａに戻る)場合や、
             別の画面に、進む場合に、直接指定します。
             (初期値は、来た画面：BACK_GAMENID ですので、設定不要です。)
             値は、キャッシュではなく、session より HybsSystem.BACK_GAMENID_KEY をキーに
             取り出します。
             これは、command="NEW" で、BACK_GAMENID リクエストが存在し、BACK_GAMENID と
             自分自身の画面IDが異なる場合のみ、RequestCacheTag#backGamenIdSet メソッドで
             session に登録されます。

    - #### setKeys

          public void setKeys(String key)

      【TAG】リンク先に渡すキーをCSV形式で複数指定します。
      パラメータ:
        `key` - リンク先に渡すキー (例：keys="displayMsg,clear")
      関連項目:
        `setVals( String )`
      説明:

             戻る時に、検索時のキャッシュに指定した引数以外に指定したり、別の値に置き換えたり
             する場合のキーを設定できます。CSV形式で複数指定できます。
             vals 属性には、キーに対応する値を、設定してください。
             例:keys="displayMsg,clear" vals="MSG0065,true"
             分解方法は、CSV変数を先に分解してから、getRequestParameter で値を取得します。
             こうしないとデータ自身にカンマを持っている場合に分解をミスる為です。

      変更履歴:

        3.5.6.2 (2004/07/05) CommonTagSupport#getCSVParameter を使用

    - #### setVals

          public void setVals(String val)

      【TAG】keys属性に対応する値をCSV形式で複数指定します。
      パラメータ:
        `val` - keys属性に対応する値 (例：vals="MSG0065,true")
      関連項目:
        `setKeys( String )`
      説明:

             キーに設定した値を、CSV形式で複数して出来ます。
             指定順序は、キーと同じにしておいて下さい。
             例:keys="displayMsg,clear" vals="MSG0065,true"
             分解方法は、CSV変数を先に分解してから、getRequestParameter で値を取得します。
             こうしないとデータ自身にカンマを持っている場合に分解をミスる為です。

      変更履歴:

        3.5.6.2 (2004/07/05) CommonTagSupport#getCSVParameter を使用

    - #### setTarget

          public void setTarget(String tgt)

      【HTML】リンク先の表示ターゲットを指定します(初期値:CONTENTS)。
      パラメータ:
        `tgt` - リンク先の表示ターゲット
      説明:

             リンク先の文書を表示させるフレーム、またはウィンドウの名前を指定します。

    - #### setHref

          public void setHref(String href)

      【HTML】リンク先のURLを指定します。
      パラメータ:
        `href` - リンク先のURL
      説明:

             リンク先のURLを指定します。

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