org.opengion.hayabusa.taglib
クラス 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, 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
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 を含まないか、useTableData == false(行選択を使用しない)か、
それ以外(.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
debug 【TAG】デバッグ情報を出力するかどうか[true/false]を指定します(初期値:false)
useRedirectCheck 【TAG】非選択状態の場合にforwardを許可するかどうか[true/false]を指定します(初期値:true)
/>
●使用例
フォワードキャッシュによりページ転送します。
<og:commonForward dbkeys="{@dbkeys}" />
- 機能分類
- 画面制御
- バージョン
- 4.0
- 作成者
- Masaharu Endo
- 導入されたバージョン:
- 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 |
メソッドの概要 |
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[=h_tblmdl])。 |
void |
setUseRedirectCheck(java.lang.String flag)
【TAG】非選択状態の場合にforwardを許可するかどうか[true/false]を指定します(初期値:true)。 |
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, getRequestParameter, getRequestParameterValues, getRequestValue, getRequestValue, getRequestValues, getReservedParameter, getReservedValue, getResource, getSanitizedBodyString, getScope, getSessionAttribute, getTagName, getUser, 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 |
CommonForwardTag
public CommonForwardTag()
doEndTag
public int doEndTag()
- Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。
- 定義:
- インタフェース
javax.servlet.jsp.tagext.Tag
内の doEndTag
- オーバーライド:
- クラス
CommonTagSupport
内の doEndTag
- 戻り値:
- 後続処理の指示
- 変更履歴:
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の振り分け処理時に...のメッセージは出力しない) |
release2
protected void release2()
- タグリブオブジェクトをリリースします。
キャッシュされて再利用されるので、フィールドの初期設定を行います。
- オーバーライド:
- クラス
CommonTagSupport
内の release2
- 変更履歴:
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のカラムを[カラム]形式で指定します。 |
setTableId
public void setTableId(java.lang.String id)
- 【TAG】(通常使いません)sessionから所得する DBTableModelオブジェクトの ID
(初期値:HybsSystem#TBL_MDL_KEY[=h_tblmdl])。
- パラメータ:
id
- sessionから所得する時の ID- 説明:
表示処理後に,(内部ポインタを書き換えた)DBTableModelオブジェクトを
同じキーで、sessionに登録します。
(初期値:HybsSystem#TBL_MDL_KEY[={@og.value org.opengion.hayabusa.common.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) 新規作成 |
toString
public java.lang.String toString()
- このオブジェクトの文字列表現を返します。
基本的にデバッグ目的に使用します。
- オーバーライド:
- クラス
CommonTagSupport
内の toString
- 戻り値:
- このクラスの文字列表現
Webアプリケーションフレームワーク openGion
Copyright (c) 2009 The openGion Project.