クラス CommonForwardTag
- java.lang.Object
-
- javax.servlet.jsp.tagext.TagSupport
-
- javax.servlet.jsp.tagext.BodyTagSupport
-
- org.opengion.hayabusa.taglib.CommonTagSupport
-
- org.opengion.hayabusa.taglib.CommonForwardTag
-
- すべての実装されたインタフェース:
java.io.Serializable
,BodyTag
,IterationTag
,JspTag
,Tag
,TryCatchFinally
public class CommonForwardTag extends CommonTagSupport
submitタグを用いてページ転送するタグです(forward.jsp で使用)。 通常、forward は、ページ内転送(サーバー内部での転送)のため、別画面への遷移には 使用できません。これは、別画面では、index.jsp 等でフレーム分割する際の基準フォルダは、 forward の場合、クライアントは理解していないため、もう一度先のフォルダに対する フレーム分割を行おうとするためです。 (よく、index.jsp の frame タグに、src="../XXXX/query.jsp" などと、自分自身のフォルダ名を 記述したページを見かけますが、これは、フォルダをまたがる転送に、forward を使用する 為の悪い対策です。) 実際は、forward ではなく、redirect を使うべきです。redirect は、指定のアドレス要求を、 一旦クライアントに投げてそこから再度要求しなおしてもらう方式のため、このようにフォルダを またがる転送も正常に処理できます。 この、commonForward タグでは、画面遷移の条件に応じて、forward か redirect の自動 判定を行い、適切に処理しています。 判定条件は、拡張子や、選択件数などを加味して以下の判定を順次テストします。 FORWARD : アドレスが、 null(自分自身) か、.jsp を含み、"/" が入っていない場合 REDIRECT: アドレスが、.jsp を含まないか、 それ以外(.jsp を含み、"/" も含む)で、選択数が1件のみの場合 もしくはuseRedirectCheck="false"の場合 COUNT_0 : それ以外で、選択数が0件の場合 COUNT_N : それ以外で、選択数が1件以上の場合、または、その他。 ここで、COUNT_0 の場合は、未選択エラー、COUNT_N は、複数選択エラーを自動的に返します。- 関連項目:
- 直列化された形式
- 機能分類
- 画面制御
- 形式サンプル:
- ●形式:<og:commonForward /> ●body:なし ●Tag定義: <og:commonForward dbkeys 【TAG】DBキーをCSV形式でセットします tableId 【TAG】(通常は使いません)sessionから所得する DBTableModelオブジェクトの ID useRedirectCheck 【TAG】非選択状態の場合にforwardを許可するかどうか[true/false]を指定します(初期値:true) useRedirectHidden 【TAG】redirectの処理時に、hiddenパラメータを転送するかどうか[true:する/false:しない]指定します(初期値:false)。 debug 【TAG】デバッグ情報を出力するかどうか[true/false]を指定します(初期値:false) useSLabel 【TAG】7.0.7.0 (2019/12/13) エラーメッセージにSLABELを利用するかどうか[true/false]を指定します(初期値:false) /> ●使用例 フォワードキャッシュによりページ転送します。 <og:commonForward dbkeys="{@dbkeys}" />
- バージョン
- 4.0
- 作成者
- Masaharu Endo
- 導入されたバージョン:
- 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
-
-
コンストラクタの概要
コンストラクタ コンストラクタ 説明 CommonForwardTag()
デフォルトコンストラクター
-
メソッドの概要
すべてのメソッド インスタンス・メソッド concreteメソッド 修飾子とタイプ メソッド 説明 int
doEndTag()
Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。protected void
release2()
タグリブオブジェクトをリリースします。void
setDbkeys(java.lang.String key)
【TAG】DBキーをCSV形式でセットします。void
setTableId(java.lang.String id)
【TAG】(通常は使いません)sessionから所得する DBTableModelオブジェクトの ID (初期値:HybsSystem#TBL_MDL_KEY[=])。void
setUseRedirectCheck(java.lang.String flag)
【TAG】非選択状態の場合にforwardを許可するかどうか[true/false]を指定します(初期値:true)。void
setUseRedirectHidden(java.lang.String flag)
【TAG】redirectの処理時に、hiddenパラメータを転送するかどうか[true:する/false:しない]を指定します(初期値:false)。void
setUseSLabel(java.lang.String prm)
【TAG】エラーメッセージにSLABELを利用するかどうか[true/false]を指定します(初期値:false)。java.lang.String
toString()
このオブジェクトの文字列表現を返します。-
クラスから継承されたメソッド 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, 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, getSubstrAttri, getSumRequestValue, getTagName, getTransaction, getUser, getUserEditInfo, getUserInfo, getValsAttri, 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
-
クラスから継承されたメソッド 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
-
-
-
-
メソッドの詳細
-
doEndTag
public int doEndTag()
Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。- 定義:
doEndTag
インタフェース内Tag
- オーバーライド:
doEndTag
クラス内CommonTagSupport
- 戻り値:
- 後続処理の指示
- 変更履歴:
- 3.3.1.1 (2003/07/03) URLにリクエスト情報をURLエンコードして追加します。, 3.5.5.2 (2004/04/02) フォルダ外転送時は、1行以外選択は、エラーとします。, 3.5.5.3 (2004/04/09) デバッグ時は、転送しないようにします。, 3.8.0.4 (2005/08/08) requestUrlEncode 廃止, 3.8.0.8 (2005/10/03) dbkeys が null の場合に全件取得していた処理を復活します。, 4.0.0.0 (2007/11/09) 非選択状態からの遷移を許可するフラグを追加(11/12に振り分け処理をselectResponseMethodに移動), 5.0.0.2 (2009/09/15) XSS対応⇒チェックする, 5.3.6.0 (2011/06/01) エラーメッセージ変更(URLの振り分け処理時に...のメッセージは出力しない), 6.2.4.0 (2015/05/15) useRedirectHidden 属性追加, 7.0.7.0 (2019/12/13) useSLabel 属性を追加。
-
release2
protected void release2()
タグリブオブジェクトをリリースします。 キャッシュされて再利用されるので、フィールドの初期設定を行います。- オーバーライド:
release2
クラス内CommonTagSupport
- 変更履歴:
- 3.5.5.2 (2004/04/02) 新規追加(rowCount,useTableData), 3.5.5.5 (2004/04/23) URLに連結するDBTableModelのカラムをCSV形式で指定します。, 3.8.5.1 (2006/04/28) URLに連結するDBTableModelのカラムを[カラム]形式で指定します。, 6.2.4.0 (2015/05/15) useRedirectHidden 属性追加, 6.4.3.1 (2016/02/12) PMD refactoring. HashMap → ConcurrentHashMap に置き換え。, 7.0.7.0 (2019/12/13) useSLabel 属性を追加。
-
setTableId
public void setTableId(java.lang.String id)
【TAG】(通常は使いません)sessionから所得する DBTableModelオブジェクトの ID (初期値:HybsSystem#TBL_MDL_KEY[=])。- パラメータ:
id
- テーブルID (sessionから所得する時のID)- 説明:
- 表示処理後に,(内部ポインタを書き換えた)DBTableModelオブジェクトを 同じキーで、sessionに登録します。 (初期値:HybsSystem#TBL_MDL_KEY[=])。
- 変更履歴:
- 3.5.5.2 (2004/04/02) 新規追加, 3.5.5.8 (2004/05/20) 内部仮想リクエスト Map を参照できるようにする。
-
setDbkeys
public void setDbkeys(java.lang.String key)
【TAG】DBキーをCSV形式でセットします。- パラメータ:
key
- DBキー(CSV形式)- 説明:
- URI の引数にセットするキーを CSV形式でセットします。 ここの指定は,DBTableModel 上のデータを取り込みます。
- 変更履歴:
- 3.5.5.5 (2004/04/23) URLに連結するDBTableModelのカラムをCSV形式で指定します。, 3.5.5.8 (2004/05/20) 内部仮想リクエスト Map を参照できるようにする。
-
setUseRedirectCheck
public void setUseRedirectCheck(java.lang.String flag)
【TAG】非選択状態の場合にforwardを許可するかどうか[true/false]を指定します(初期値:true)。- パラメータ:
flag
- 非選択状態のforward許可 [true:不許可/false:許可]- 説明:
- 初期値はtrueが設定されています falseにすると許可されます
- 変更履歴:
- 4.0.0.0 (2007/11/09) 新規作成
-
setUseRedirectHidden
public void setUseRedirectHidden(java.lang.String flag)
【TAG】redirectの処理時に、hiddenパラメータを転送するかどうか[true:する/false:しない]を指定します(初期値:false)。- パラメータ:
flag
- 非選択状態のforward許可 [true:不許可/false:許可]- 説明:
- submitTag で、gamenId を指定すると、redirect されます。 その場合、従来の画面では、hidden 属性が転送されていなかったため、 個別に keys,vals で指定する必要がありました。 hidden で記述した値は、redirect でも転送できるようにします。 なお、個別定義済みのパラメータがあり、hiddenパラメータを同じキーの場合は、 個別パラメータを優先し、hiddenパラメータは転送しません。 本来は、gamenId指定の submit の場合でも、必要最小限の値のみ転送すべきで、 この値を true にするのは、過去のJSPソースを、修正せずに使いたいケースに限定してください。 互換性の関係で、初期値は、false にします。
- 変更履歴:
- 6.2.4.0 (2015/05/15) 新規作成
-
setUseSLabel
public void setUseSLabel(java.lang.String prm)
【TAG】エラーメッセージにSLABELを利用するかどうか[true/false]を指定します(初期値:false)。- パラメータ:
prm
- SLABEL利用 [true:利用する/false:利用しない]- 説明:
- 通常のエラーメッセージは、ラベル(長)が使われますが、これをラベル(短)を使いたい場合に、true にセットします。 ここでのラベル(短)は、タグ修飾なしの、ラベル(短)です。 標準はfalse:利用しない=ラベル(長)です。 true/false以外を指定した場合はfalse扱いとします。 ラベルリソースの概要説明があれば表示しますが、useSLabel="true" 時は、概要説明を表示しません。
- 変更履歴:
- 7.0.7.0 (2019/12/13) 新規追加
-
toString
public java.lang.String toString()
このオブジェクトの文字列表現を返します。 基本的にデバッグ目的に使用します。- オーバーライド:
toString
クラス内CommonTagSupport
- 戻り値:
- このクラスの文字列表現
- このメソッドは、nullを返しません
-
-