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 debug 【TAG】デバッグ情報を出力するかどうか[true/false]を指定します(初期値:false) useRedirectCheck 【TAG】非選択状態の場合にforwardを許可するかどうか[true/false]を指定します(初期値:true) /> ●使用例 フォワードキャッシュによりページ転送します。 <og:commonForward dbkeys="{@dbkeys}" />
bodyContent
id, pageContext
EVAL_BODY_BUFFERED, EVAL_BODY_TAG
EVAL_BODY_AGAIN
EVAL_BODY_INCLUDE, EVAL_PAGE, SKIP_BODY, SKIP_PAGE
コンストラクタと説明 |
---|
CommonForwardTag() |
修飾子とタイプ | メソッドと説明 |
---|---|
int |
doEndTag()
Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。
|
protected void |
release2()
タグリブオブジェクトをリリースします。
|
void |
setDbkeys(String key)
【TAG】DBキーをCSV 形式でセットします。
|
void |
setTableId(String id)
【TAG】(通常使いません)sessionから所得する DBTableModelオブジェクトの ID
(初期値:HybsSystem#TBL_MDL_KEY[=h_tblmdl])。
|
void |
setUseRedirectCheck(String flag)
【TAG】非選択状態の場合にforwardを許可するかどうか[true/false]を指定します(初期値:true)。
|
String |
toString()
このオブジェクトの文字列表現を返します。
|
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
doInitBody, getBodyContent, getPreviousOut, release, setBodyContent
findAncestorWithClass, getId, getParent, getValue, getValues, removeValue, setId, setPageContext, setParent, setValue
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
getParent, setPageContext, setParent
public int 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の振り分け処理時に...のメッセージは出力しない) |
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のカラムを[カラム]形式で指定します。 |
public void setTableId(String id)
id
- sessionから所得する時の ID表示処理後に,(内部ポインタを書き換えた)DBTableModelオブジェクトを 同じキーで、sessionに登録します。 (初期値:HybsSystem#TBL_MDL_KEY[=h_tblmdl])。
3.5.5.2 (2004/04/02) 新規追加 |
3.5.5.8 (2004/05/20) 内部仮想リクエスト Map を参照できるようにする。 |
public void setDbkeys(String key)
key
- DBキー(CSV 形式)URI の引数にセットするキーを CSV 形式でセットします。 ここの指定は,DBTableModel 上のデータを取り込みます。
3.5.5.5 (2004/04/23) URLに連結するDBTableModelのカラムをCSV形式で指定します。 |
3.5.5.8 (2004/05/20) 内部仮想リクエスト Map を参照できるようにする。 |
public void setUseRedirectCheck(String flag)
flag
- 非選択状態のforwardを許可 [true:不許可/false:許可]初期値はtrueが設定されています falseにすると許可されます
4.0.0.0 (2007/11/09) 新規作成 |
public String toString()
toString
クラス内 CommonTagSupport
Webアプリケーションフレームワーク openGionCopyright (c) 2009 The openGion Project.