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
- すべての実装されたインタフェース:
- 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 を含まないか、useTableData == false(行選択を使用しない)か、
それ以外(.jsp を含み、"/" も含む)で、選択数が1件のみの場合
もしくはuseRedirectCheck="false"の場合
COUNT_0 :
それ以外で、選択数が0件の場合
COUNT_N :
それ以外で、選択数が1件以上の場合、または、その他。
ここで、COUNT_0 の場合は、未選択エラー、COUNT_N は、複数選択エラーを自動的に返します。
- 関連項目:
- 直列化された形式
- 機能階層
- 画面制御
- 形式サンプル:
●形式:<og:commonForward />
●body:なし
●使用例
フォワードキャッシュによりページ転送します。
<og:commonForward dbkeys="{@dbkeys}" />
- バージョン
- 4.0
- 作成者
- Masaharu Endo
- 導入されたバージョン:
- JDK5.0,
クラス org.opengion.hayabusa.taglib.CommonTagSupport から継承されたメソッド |
add, add, addEventColumnSQL, check, check, commitTableObject, debugPrint, doAfterBody, doCatch, doFinally, doStartTag, get, getApplicationInfo, getAttributes, getBodyRawString, getBodyString, getContextAttribute, getContextPath, getCookie, getCSVParameter, getDataCondition, getDateFormat, getDBColumn, getDBFunctionName, getDocumentLink, getGUIInfo, getGUIInfoAttri, getLabel, getLabelInterface, getLanguage, getLongLabel, getMsglbl, getObject, getParameterNames, getParameterRows, getRequest, getRequestAttribute, getRequestCacheData, getRequestParameter, getRequestParameterValues, getRequestValue, getRequestValues, getResource, getScope, getSessionAttribute, getTagName, getUser, getUserInfo, isAjaxSubmitSession, isDebug, isNoTransitionSession, isNull, jspPrint, removeContextAttribute, removeObject, removeRequestAttribute, removeSessionAttribute, set, setAjaxSubmitSession, setContextAttribute, setCookie, setDebug, setLanguage, setLbl, setMsglbl, setNoTransitionSession, setObject, setParameterRows, setRequestAttribute, setRequestCacheData, setScope, setSessionAttribute, setUserInfo, setUseValue, startQueryTransaction, sys, sysBool, sysInt, useQuotCheck |
CommonForwardTag
public CommonForwardTag()
doEndTag
public int doEndTag()
- Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。
- 定義:
- インタフェース
Tag
内の doEndTag
- オーバーライド:
- クラス
CommonTagSupport
内の doEndTag
- 戻り値:
- int
- 変更履歴:
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に移動) |
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(String id)
- 【TAG】(通常使いません)sessionから所得する DBTableModel オブジェクトの ID。
- パラメータ:
id
- sessionから所得する時の ID- TagLib:
表示処理後に,(内部ポインタを書き換えた)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(String key)
- 【TAG】DBキーをCSV 形式でセットします。
- パラメータ:
key
- DBキー(CSV 形式)- TagLib:
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(String flag)
- 非選択状態の場合にforwardを許可するかのフラグ設定です
デフォルトはtrueが設定されています
falseにすると許可されます
- パラメータ:
flag
- - 変更履歴:
4.0.0.0 (2007/11/09) 新規作成 |
toString
public String toString()
- このオブジェクトの文字列表現を返します。
基本的にデバッグ目的に使用します。
- オーバーライド:
- クラス
CommonTagSupport
内の toString
- 戻り値:
- このクラスの文字列表現
Webアプリケーションフレームワーク openGion
Copyright (c) 2009 The openGion Project.