org.opengion.hayabusa.taglib

## クラス ForwardTag

- java.lang.Object
- - javax.servlet.jsp.tagext.TagSupport
  - - javax.servlet.jsp.tagext.BodyTagSupport
    - - org.opengion.hayabusa.taglib.CommonTagSupport
      - - org.opengion.hayabusa.taglib.ForwardTag

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

      public class ForwardTag
      extends CommonTagSupport

  制御を別の画面にフォワードする場合に使用するタグです(通常は、entry.jsp で使用します)。 フォワード時に、指定の引数をセットできます。
  関連項目:
    直列化された形式
  形式サンプル:

         ●形式：<og:forward page="…" gamenId="[…]" />
         ●body：なし

         ●Tag定義：
           <og:forward
               gamenId            【TAG】gamenId 属性を登録します
               page             ○【TAG】転送先URLを指定します(必須)。
               keys               【TAG】キーを CSV 形式でセットします
               vals               【TAG】キーに対応する値を CSV 形式でセットします
               dbkeys             【TAG】DBキーをCSV 形式でセットします
               scope              【TAG】キャッシュする場合のスコープ[request/page/session/applicaton]を指定します(初期値:session)
               useRedirect        【TAG】response.sendRedirect するかどうか[true/false]を指定します(初期値:false)
               target             【TAG】サブミット先の文書を表示させるフレーム、またはウィンドウの名前を指定します
               filename           【TAG】ファイル転送時にファイル名の別名を指定します(初期値:null)
               noTransition       【TAG】(通常は使いません)画面遷移を行わない形式の登録方法を使用するかを指定します
               useAjaxSubmit      【TAG】(通常は使いません)ajaxを利用したsubmitを利用するかどうかを指定します
               redirectEncode     【TAG】(通常は使いません)useRedirect=true時に 日本語を含む転送先(page)をバイナリ変換するときのコード名[UTF-8/Windows-31J]など(初期値:null)
               debug              【TAG】デバッグ情報を出力するかどうか[true/false]を指定します(初期値:false)
           />

         ●使用例
               <og:forward
                  page          = "転送先URLを指定します(必須)。"
                  dbkeys        = "DBキーをCSV 形式でセットします。"
                  keys          = "キーを CSV 形式でセットします。"
                  vals          = "キーに対応する値を CSV 形式でセットします。"
                  scope         = "キャッシュする場合のスコープ(request,page,session,applicaton)を指定します(初期値:session)。"
                  gamenId       = "gamenId 属性を登録します。"
                  useRedirect   = "useRedirect 属性を登録します。"
                  filename      = "ファイル転送時にファイル名を指定する場合に設定します。"
                  target        = "taregt 属性を登録します。"
                  noTransition  = "実際にforwardせずに、id="forwardUrl"属性のbody部分に遷移先のURLを出力します。(画面遷移なしモード時に使用します)"
               />

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

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

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

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

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

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

    メソッド
    修飾子とタイプ | メソッドと説明
    --- | ---
    `int` | `doEndTag()` Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。
    `protected void` | `release2()` タグリブオブジェクトをリリースします。
    `void` | `setDbkeys(java.lang.String key)` 【TAG】DBキーをCSV 形式でセットします。
    `void` | `setDisposition(java.lang.String dispos)` 【TAG】ファイルダウンロードさせる場合に、Content-Disposition に設定する値
    `void` | `setFilename(java.lang.String name)` 【TAG】ファイル転送時にファイル名の別名を指定します(初期値:null)。
    `void` | `setForceEnc(java.lang.String flg)` 【TAG】valsの値が[で開始している場合でもURLEncodeを通すかを設定します(初期値:false)。
    `void` | `setGamenId(java.lang.String id)` 【TAG】gamenId 属性を登録します。
    `void` | `setKeys(java.lang.String key)` 【TAG】キーを CSV 形式でセットします。
    `void` | `setNoTransition(java.lang.String noTrnstn)` 【TAG】(通常は使いません)画面遷移を行わない形式の登録方法を使用するかを指定します。
    `void` | `setPage(java.lang.String url)` 【TAG】転送先URLを指定します。
    `void` | `setRedirectEncode(java.lang.String redEnc)` 【TAG】(通常は使いません)useRedirect=true時に 日本語を含む転送先(page)をバイナリ変換するときのコード名[UTF-8/Windows-31J]など(初期値:null)
    `void` | `setTarget(java.lang.String flag)` 【TAG】サブミット先の文書を表示させるフレーム、またはウィンドウの名前を指定します。
    `void` | `setUseAjaxSubmit(java.lang.String ajaxSubmit)` 【TAG】(通常は使いません)ajaxを利用したsubmitを利用するかどうかを指定します。
    `void` | `setUseRedirect(java.lang.String flag)` 【TAG】response.sendRedirect するかどうか[true/false]を指定します(初期値:false)。
    `void` | `setUseURLCheck(java.lang.String flag)` 【TAG】リンクアドレスにURLチェック用の確認キーを付加するかどうか[true/false]を指定します。
    `void` | `setVals(java.lang.String val)` 【TAG】キーに対応する値を CSV 形式でセットします。
    `java.lang.String` | `toString()` このオブジェクトの文字列表現を返します。

    - ### クラスから継承されたメソッド 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, setId, setPageContext, setParent, setValue`

    - ### クラスから継承されたメソッド java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

    - ### インタフェースから継承されたメソッド javax.servlet.jsp.tagext.Tag

      `getParent, setPageContext, setParent`

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

    - #### ForwardTag

          public ForwardTag()

  - ### メソッドの詳細

    - #### doEndTag

          public int doEndTag()

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

        2.1.0.0 (2002/10/11) 戻り値の先頭の "?" を追加しないように変更。
        3.0.1.3 (2003/03/11) 直接転送した場合の整合性を取る為の対応。
        3.1.1.2 (2003/04/04) Tomcat4.1 対応。release2() を doEndTag()で呼ぶ。
        3.1.2.0 (2003/04/07) ソースコード中の固定値を、定義ファイルを使用するように変更する。
        3.5.4.9 (2004/02/25) gamenId を指定して、フォワードできるようにします。
        3.5.6.6 (2004/08/23) useRedirect 属性を追加します。
        4.3.3.0 (2008/10/01) noTransition 属性を追加します。
        4.3.7.1 (2009/06/08) target属性に絶対パス及び"_"で始まる予約語を指定できるようにします。
        4.3.8.0 (2009/08/01) useAjaxSubmit対応、noTransition値取得メソッド名変更
        5.0.0.4 (2009/10/01) 画面遷移なし登録で戻った際に最終行が選択されるバグを修正
        5.1.3.0 (2010/02/01) noTransition、ajaxSubmitのコントロールは、requestで行う。
        5.1.6.0 (2010/05/01) IE以外は、MIMEエンコードする。(RFC2231に従う)
        5.1.7.0 (2010/06/01) 画面IDをパラメーターに付加する。
        5.1.7.0 (2010/06/01) 遷移先がJSP以外の場合は、フォワードページのキャッシュをしない。
        5.1.8.0 (2010/07/01) httpが指定されていた場合に、自身の画面IDが付加されるバグを修正
        5.3.8.0 (2011/08/01) ファイル名指定でIEの場合、URLエンコードすると途中で切れるため(IE7のバグ)、Shift_JIS(WIndows-31J)で直接指定する。
        5.6.5.0 (2013/06/07) redirectEncode 属性を追加します。
        5.7.4.1 (2014/03/14) 日本語ファイル名が正しく処理できない件を修正(IE11のMSIE関連)
        5.9.29.0 (2018/01/30) Edge,safariの日本語ファイル名対応(RFC6266方式を併記）
        5.10.11.0 (2019/05/03) URLチェック対応を追加
        5.10.12.0 (2019/06/03) content-typeを追加

    - #### release2

          protected void release2()

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

        2.0.0.4 (2002/09/27) カスタムタグの release() メソッドを、追加
        3.1.1.2 (2003/04/04) Tomcat4.1 対応。release2() を doEndTag()で呼ぶ。
        3.5.4.9 (2004/02/25) 画面ID属性(gamenId)を追加
        3.8.5.0 (2006/03/06) filename 属性を追加します。
        4.3.3.0 (2008/10/01) noTransition 属性を追加します。
        5.6.5.0 (2013/06/07) redirectEncode 属性を追加します。
        5.10.11.0 (2019/05/03) urlCheck対応
        5.10.12.0 (2019/06/03) disposition
        5.10.15.3 (2019/09/27) useForceEnc

    - #### setPage

          public void setPage(java.lang.String url)

      【TAG】転送先URLを指定します。
      パラメータ:
        `url` - 転送先URL
      説明:

             転送先URLを指定します。

    - #### setDbkeys

          public void setDbkeys(java.lang.String key)

      【TAG】DBキーをCSV 形式でセットします。
      パラメータ:
        `key` - DBキー(CSV 形式)
      説明:

             URI の引数にセットするキーを CSV 形式でセットします。
             ここの指定は,DBTableModel 上のデータを取り込みます。

    - #### setKeys

          public void setKeys(java.lang.String key)

      【TAG】キーを CSV 形式でセットします。
      パラメータ:
        `key` - キー(CSV 形式)
      説明:

             URI の引数にセットするキーを CSV 形式でセットします。

    - #### setVals

          public void setVals(java.lang.String val)

      【TAG】キーに対応する値を CSV 形式でセットします。
      パラメータ:
        `val` - 値(CSV 形式)
      説明:

             URI の引数にセットする値を CSV 形式でセットします。
             分解方法は、CSV変数を先に分解してから、getRequestParameter で値を取得します。
             こうしないとデータ自身にカンマを持っている場合に分解をミスる為です。

      変更履歴:

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

    - #### setGamenId

          public void setGamenId(java.lang.String id)

      【TAG】gamenId 属性を登録します。
      パラメータ:
        `id` - gamenId 属性
      関連項目:
        `setUseRedirect( String )`
      説明:

             gamenId 属性は、画面IDをキーに、実アドレスを求めるのに使用します。
             画面IDが指定された場合は、実アドレスに変換する。指定されない場合は、
             page 属性をそのままリダイレクトアドレスとします。
             gamenId を指定した場合は、このuseRedirect属性に関係なく、Redirect されます。

      変更履歴:

        3.5.4.9 (2004/02/25) 新規追加

    - #### setUseRedirect

          public void setUseRedirect(java.lang.String flag)

      【TAG】response.sendRedirect するかどうか[true/false]を指定します(初期値:false)。
      パラメータ:
        `flag` - useRedirect 属性 [false:forwrd/true:redirect]
      関連項目:
        `setGamenId( String )`
      説明:

             useRedirect 属性は、URLの転送方式を指定できます。
             通常は、pageContext.forward しますが、この属性に true を
             設定すると、response.sendRedirect します。
             gamenId を指定した場合は、この属性に関係なく、Redirect されます。
             初期値は、false (forward) です。

      変更履歴:

        3.5.6.6 (2004/08/23) 新規追加

    - #### setTarget

          public void setTarget(java.lang.String flag)

      【TAG】サブミット先の文書を表示させるフレーム、またはウィンドウの名前を指定します。
      パラメータ:
        `flag` - サブミット先の文書のフレーム名(ターゲット属性)
      説明:

             サブミット先のフレーム名(ターゲット属性)を設定します。

      変更履歴:

        3.8.0.4 (2005/08/08) 新規追加

    - #### setFilename

          public void setFilename(java.lang.String name)

      【TAG】ファイル転送時にファイル名の別名を指定します(初期値:null)。
      パラメータ:
        `name` - ファイル名
      説明:

             ファイルを転送する場合に、オープンさせるファイル名を指定します。
             指定しない場合は、フォラード前に呼び出されたアドレスがそのまま使用されます。

    - #### setDisposition

          public void setDisposition(java.lang.String dispos)

      【TAG】ファイルダウンロードさせる場合に、Content-Disposition に設定する値
      パラメータ:
        `dispos` - Content-Dispositionに設定する値(inline/attachment)
      説明:

             inline(そのまま開く) を指定すると、画面表示が基本です。
             PDF などは直接ダウンロードが始まります。
             attachment(ダウンロードダイアログを表示する) を指定すると、保存のダイアログを表示します。
             ただ、サーバやブラウザによって挙動が変わる事があるようです。

      変更履歴:

        5.10.12.0 (2019/06/03) 6.4.3.0の移植で新規追加

    - #### setNoTransition

          public void setNoTransition(java.lang.String noTrnstn)

      【TAG】(通常は使いません)画面遷移を行わない形式の登録方法を使用するかを指定します。
      パラメータ:
        `noTrnstn` - 画面遷移を行わない形式の登録方法を使用するか
      説明:

             画面遷移なしの登録を行うかどうかを指定します。
             trueが指定された場合、forwardタグでは、実際の画面遷移は行わずに、forward先の
             URLを[URL]の形でHTMLとして出力し、JavaScript側で
             実際の画面遷移を発生させます。target属性は[TARGET]で
             出力されます。

             この値は、og:headタグで設定値、または前画面からの値を継承するため、通常、この属性ではセットしません。

      変更履歴:

        4.3.3.0 (2008/10/01) 新規追加
        5.1.3.0 (2010/02/01) noTransition、ajaxSubmitのコントロールは、requestで行う。

    - #### setUseAjaxSubmit

          public void setUseAjaxSubmit(java.lang.String ajaxSubmit)

      【TAG】(通常は使いません)ajaxを利用したsubmitを利用するかどうかを指定します。
      パラメータ:
        `ajaxSubmit` - ajaxを利用したsubmitを利用するかどうか
      説明:

             ajaxを利用したSubmit処理を行うかどうかを指定します。
             setNoTransitionをtrueにした場合と同様の処理を行います。
             (forwardせずにURLをDIVタグで出力する)

             この値は、og:headタグで設定値、または前画面からの値を継承するため、通常、この属性ではセットしません。

      変更履歴:

        4.3.8.0 (2009/08/01) 新規追加
        5.1.3.0 (2010/02/01) noTransition、ajaxSubmitのコントロールは、requestで行う。

    - #### setRedirectEncode

          public void setRedirectEncode(java.lang.String redEnc)

      【TAG】(通常は使いません)useRedirect=true時に 日本語を含む転送先(page)をバイナリ変換するときのコード名[UTF-8/Windows-31J]など(初期値:null)
      パラメータ:
        `redEnc` - URL を 転送する場合に、日本語を含む転送先(page)をバイナリ変換するときのコード名
      説明:

             日本語ファイル名を持つ URL を useRedirect で転送する場合に、転送先(page)をバイナリ変換しないと、転送できないケースがあります。
             このあたりは、ブラウザにも依存するので、既存の処理に影響しない様に、このパラメータを使用する場合のみ
             処理を実行します。
             IEでの日本語ファイル転送で、うまくいかない場合の、暫定処置です。
             IEの場合は、redirectEncode="UTF-8" で、日本語ファイルを転送できます。
             ただし、useRedirect=true時に filename 属性によるファイル名の書き換え処理はできませんので、ご注意ください。
             初期値は、null で、バイナリエンコードしません。（互換性ありの状態です。）

      変更履歴:

        5.6.5.0 (2013/06/07) 新規追加

    - #### setUseURLCheck

          public void setUseURLCheck(java.lang.String flag)

      【TAG】リンクアドレスにURLチェック用の確認キーを付加するかどうか[true/false]を指定します。
      パラメータ:
        `flag` - 暗号化するかかどうか [true:暗号化する/false:しない]
      関連項目:
        `URLCheckFilter`
      説明:

             この属性は、URLCheckFilter(org.opengion.hayabusa.filter.URLCheckFilter)と合わせて使用します。
             trueが指定された場合、リンクURLのパラメーターに、URL確認用のパラメーターが出力されます。
             このパラメーターを、URLCheckFilterが復号化し、正式なアクセスであるかどうかの判定を行います。

             初期値は、 システムリソースのLINK_URL_CHECK です。

      変更履歴:

        5.10.11.0 (2019/05/03) 新規追加

    - #### setForceEnc

          public void setForceEnc(java.lang.String flg)

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

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

      変更履歴:

        5.10.15.3 (2019/09/27) forceEnc追加

    - #### toString

          public java.lang.String toString()

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

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