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)
/>
●使用例
フォワードキャッシュによりページ転送します。
<og:commonForward dbkeys="{@dbkeys}" />BR, BUFFER_MIDDLE, CRbodyContentid, pageContextEVAL_BODY_BUFFERED, EVAL_BODY_TAGEVAL_BODY_AGAINEVAL_BODY_INCLUDE, EVAL_PAGE, SKIP_BODY, SKIP_PAGE| コンストラクタと説明 |
|---|
CommonForwardTag()
デフォルトコンストラクター
|
| 修飾子とタイプ | メソッドと説明 |
|---|---|
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)。
|
void |
setUseRedirectHidden(java.lang.String flag)
【TAG】redirectの処理時に、hiddenパラメータを転送するかどうか[true:する/false:しない]を指定します(初期値:false)。
|
java.lang.String |
toString()
このオブジェクトの文字列表現を返します。
|
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, 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, useMainTrans, useQuotCheck, useTag, useXssCheckdoInitBody, getBodyContent, getPreviousOut, release, setBodyContentfindAncestorWithClass, getId, getParent, getValue, getValues, removeValue, setId, setPageContext, setParent, setValueclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitgetParent, setPageContext, setParentpublic CommonForwardTag()
public int doEndTag()
doEndTag インタフェース内 TagdoEndTag クラス内 CommonTagSupportprotected void release2()
release2 クラス内 CommonTagSupportpublic void setTableId(java.lang.String id)
id - テーブルID (sessionから所得する時のID)public void setDbkeys(java.lang.String key)
key - DBキー(CSV形式)public void setUseRedirectCheck(java.lang.String flag)
flag - 非選択状態のforward許可 [true:不許可/false:許可]public void setUseRedirectHidden(java.lang.String flag)
flag - 非選択状態のforward許可 [true:不許可/false:許可]public java.lang.String toString()
toString クラス内 CommonTagSupportWebアプリケーションフレームワーク openGionCopyright (c) 2009 The openGion Project.