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, getCommonTagThrowable, 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()
| 6.4.2.0 (2016/01/29) PMD refactoring. Each class should declare at least one constructor. |
public int doEndTag()
doEndTag インタフェース内 TagdoEndTag クラス内 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 属性追加 |
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 に置き換え。 |
public void setTableId(java.lang.String id)
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(java.lang.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(java.lang.String flag)
flag - 非選択状態のforward許可 [true:不許可/false:許可]初期値はtrueが設定されています falseにすると許可されます
| 4.0.0.0 (2007/11/09) 新規作成 |
public void setUseRedirectHidden(java.lang.String flag)
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) 新規作成 |
public java.lang.String toString()
toString クラス内 CommonTagSupportWebアプリケーションフレームワーク openGionCopyright (c) 2009 The openGion Project.