クラス ForwardTag
- java.lang.Object
-
- javax.servlet.jsp.tagext.TagSupport
-
- javax.servlet.jsp.tagext.BodyTagSupport
-
- org.opengion.hayabusa.taglib.CommonTagSupport
-
- org.opengion.hayabusa.taglib.ForwardTag
-
- すべての実装されたインタフェース:
java.io.Serializable
,BodyTag
,IterationTag
,JspTag
,Tag
,TryCatchFinally
public class ForwardTag extends CommonTagSupport
制御を別の画面にフォワードする場合に使用するタグです(通常は、entry.jsp で使用します)。 フォワード時に、指定の引数をセットできます。- 関連項目:
- 直列化された形式
- 機能分類
- 画面制御
- 形式サンプル:
- ●形式:<og:forward page="…" gamenId="[…]" /> ●body:なし ●Tag定義: <og:forward gamenId 【TAG】gamenId 属性を登録します page ○【TAG】転送先URLを指定します(必須)。 keys 【TAG】キーを CSV形式でセットします vals 【TAG】キーに対応する値を CSV形式でセットします dbkeys 【TAG】DBキーをCSV形式でセットします scope 【TAG】キャッシュする場合のスコープ[request/page/session/application]を指定します(初期値:session) useRedirect 【TAG】response.sendRedirect するかどうか[true/false]を指定します(初期値:false) contentType 【TAG】response.sendRedirect する場合、ContentType を設定します(初期値:未指定) 7.1.0.0 (2020/01/20) target 【TAG】サブミット先の文書を表示させるフレーム、またはウィンドウの名前を指定します filename 【TAG】ファイル転送時にファイル名の別名を指定します(初期値:null) disposition 【TAG】ファイル転送時のヘッダー情報として、Content-Dispositionに設定する値を指定します(初期値:CONTENT_DISPOSITION[=])。 noTransition 【TAG】(通常は使いません )画面遷移を行わない形式の登録方法を使用するかを指定します useAjaxSubmit 【TAG】(通常は使いません) ajaxを利用したsubmitを利用するかどうかを指定します redirectEncode 【TAG】(通常は使いません) useRedirect=true時に 日本語を含む転送先(page)をバイナリ変換するときのコード名[UTF-8/Windows-31J]など(初期値:null) forceEnc 【TAG】(通常は使いません) valsの値が[で開始している場合でもURLEncodeを通すかを設定します(初期値:false) 5.10.15.3 (2019/09/27) caseKey 【TAG】このタグ自体を利用するかどうかの条件キーを指定します(初期値:null) caseVal 【TAG】このタグ自体を利用するかどうかの条件値を指定します(初期値:null) caseNN 【TAG】指定の値が、null/ゼロ文字列 でない場合(Not Null=NN)は、このタグは使用されます(初期値:判定しない) caseNull 【TAG】指定の値が、null/ゼロ文字列 の場合は、このタグは使用されます(初期値:判定しない) caseIf 【TAG】指定の値が、true/TRUE文字列の場合は、このタグは使用されます(初期値:判定しない) debug 【TAG】デバッグ情報を出力するかどうか[true/false]を指定します(初期値:false) /> ※ 6.4.3.0 (2016/02/05) disposition 追加 以前は、inline 固定でしたが、引数で指定できるようにします。 ●使用例 <og:forward page = "転送先URLを指定します(必須)。" dbkeys = "DBキーをCSV形式でセットします。" keys = "キーを CSV形式でセットします。" vals = "キーに対応する値を CSV形式でセットします。" scope = "キャッシュする場合のスコープ(request,page,session,application)を指定します(初期値:session)。" gamenId = "gamenId 属性を登録します。" useRedirect = "useRedirect 属性を登録します。" filename = "ファイル転送時にファイル名を指定する場合に設定します。" target = "taregt 属性を登録します。" noTransition = "実際にforwardせずに、id="forwardUrl"属性のbody部分に遷移先のURLを出力します。(画面遷移なしモード時に使用します)" />
- バージョン
- 4.0
- 作成者
- Kazuhiko Hasegawa
- 導入されたバージョン:
- JDK5.0,
-
-
フィールドの概要
-
クラスから継承されたフィールド org.opengion.hayabusa.taglib.CommonTagSupport
BR, BUFFER_MIDDLE, CR
-
クラスから継承されたフィールド 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
-
-
コンストラクタの概要
コンストラクタ コンストラクタ 説明 ForwardTag()
デフォルトコンストラクター
-
メソッドの概要
すべてのメソッド インスタンス・メソッド concreteメソッド 修飾子とタイプ メソッド 説明 int
doEndTag()
Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。protected void
release2()
タグリブオブジェクトをリリースします。void
setContentType(java.lang.String type)
【TAG】response.sendRedirect する場合、ContentType を設定します(初期値:未指定)。void
setDbkeys(java.lang.String key)
【TAG】DBキーをCSV形式でセットします。void
setDisposition(java.lang.String dispos)
【TAG】ファイルダウンロードさせる場合に、Content-Disposition に設定する値 (初期値:CONTENT_DISPOSITION[=])。void
setFilename(java.lang.String name)
【TAG】ファイル転送時にファイル名の別名を指定します(初期値:null)。void
setForceEnc(java.lang.String flg)
【TAG】valsの値が[で開始している場合でもURLEncodeを通すかを設定します(初期値:false)。void
setGamenId(java.lang.String id)
【TAG】画面ID を指定します。void
setKeys(java.lang.String key)
【TAG】キーを CSV形式でセットします。void
setNoTransition(java.lang.String noTrnstn)
【TAG】(通常は使いません)画面遷移を行わない形式の登録方法を使用するかを指定します。void
setPage(java.lang.String url)
【TAG】転送先URLを指定します。void
setRedirectEncode(java.lang.String redEnc)
【TAG】(通常は使いません)useRedirect=true時に 日本語を含む転送先(page)をバイナリ変換するときのコード名[UTF-8/Windows-31J]など(初期値:null)。void
setTarget(java.lang.String name)
【TAG】サブミット先の文書を表示させるフレーム、またはウィンドウの名前を指定します。void
setUseAjaxSubmit(java.lang.String ajaxSubmit)
【TAG】(通常は使いません)ajaxを利用したsubmitを利用するかどうか[true:利用する/false:利用しない]を指定します。void
setUseRedirect(java.lang.String flag)
【TAG】response.sendRedirect するかどうか[true/false]を指定します(初期値:false)。void
setUseURLCheck(java.lang.String flag)
【TAG】リンクアドレスにURLチェック用の確認キーを付加するかどうか[true/false]を指定します。void
setVals(java.lang.String val)
【TAG】キーに対応する値を CSV形式でセットします。java.lang.String
toString()
このオブジェクトの文字列表現を返します。-
クラスから継承されたメソッド org.opengion.hayabusa.taglib.CommonTagSupport
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, getSubstrAttri, getSumRequestValue, getTagName, getTransaction, getUser, getUserEditInfo, getUserInfo, getValsAttri, 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, 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
-
-
-
-
メソッドの詳細
-
doEndTag
public int doEndTag()
Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。- 定義:
doEndTag
インタフェース内Tag
- オーバーライド:
doEndTag
クラス内CommonTagSupport
- 戻り値:
- 後続処理の指示
- 変更履歴:
- 2.1.0.0 (2002/10/11) 戻り値の先頭の "?" を追加しないように変更。, 3.0.1.3 (2003/03/11) 直接転送した場合の整合性を取る為の対応。, 3.1.1.2 (2003/04/04) Tomcat4.1 対応。release2() を doEndTag()で呼ぶ。, 3.1.2.0 (2003/04/07) ソースコード中の固定値を、定義ファイルを使用するように変更する。, 3.5.4.9 (2004/02/25) gamenId を指定して、フォワードできるようにします。, 3.5.6.6 (2004/08/23) useRedirect 属性を追加します。, 4.3.3.0 (2008/10/01) noTransition 属性を追加します。, 4.3.7.1 (2009/06/08) target属性に絶対パス及び"_"で始まる予約語を指定できるようにします。, 4.3.8.0 (2009/08/01) useAjaxSubmit対応、noTransition値取得メソッド名変更, 5.0.0.4 (2009/10/01) 画面遷移なし登録で戻った際に最終行が選択されるバグを修正, 5.1.3.0 (2010/02/01) noTransition、ajaxSubmitのコントロールは、requestで行う。, 5.1.6.0 (2010/05/01) IE以外は、MIMEエンコードする。(RFC2231に従う), 5.1.7.0 (2010/06/01) 画面IDをパラメーターに付加する。, 5.1.7.0 (2010/06/01) 遷移先がJSP以外の場合は、フォワードページのキャッシュをしない。, 5.1.8.0 (2010/07/01) httpが指定されていた場合に、自身の画面IDが付加されるバグを修正, 5.3.8.0 (2011/08/01) ファイル名指定でIEの場合、URLエンコードすると途中で切れるため(IE7のバグ)、Shift_JIS(WIndows-31J)で直接指定する。, 5.6.5.0 (2013/06/07) redirectEncode 属性を追加します。, 5.7.4.1 (2014/03/14) 日本語ファイル名が正しく処理できない件を修正(IE11のMSIE関連), 6.0.2.5 (2014/10/31) debug="true" を設定したときは、forward も sendRedirect も行わない。, 6.3.4.0 (2015/08/01) caseKey,caseVal,caseNN,caseNull,caseIf 属性対応, 6.4.0.2 (2015/12/11) 飛び先の画面が見つからない(アクセス権がない)場合、転送先URL を null にする。, 6.9.0.0 (2018/01/31) Windows10 の Edge で、ファイルの文字化け対応(FileDownload servletと同じ対応を入れます)。, 6.9.8.0 (2018/05/28) debug="true" 時は、画面遷移は行わない。, 5.10.11.0 (2019/05/03) URLチェック対応を追加, 7.1.0.0 (2020/01/20) contentType 追加。
-
release2
protected void release2()
タグリブオブジェクトをリリースします。 キャッシュされて再利用されるので、フィールドの初期設定を行います。- オーバーライド:
release2
クラス内CommonTagSupport
- 変更履歴:
- 2.0.0.4 (2002/09/27) カスタムタグの release() メソッドを、追加, 3.1.1.2 (2003/04/04) Tomcat4.1 対応。release2() を doEndTag()で呼ぶ。, 3.5.4.9 (2004/02/25) 画面ID属性(gamenId)を追加, 3.8.5.0 (2006/03/06) filename 属性を追加します。, 4.3.3.0 (2008/10/01) noTransition 属性を追加します。, 5.6.5.0 (2013/06/07) redirectEncode 属性を追加します。, 6.4.3.0 (2016/02/05) disposition属性、新規追加。, 5.10.11.0 (2019/05/03) urlCheck対応, 5.10.15.3 (2019/09/27) forceEnc追加, 7.1.0.0 (2020/01/20) contentType 追加。
-
setPage
public void setPage(java.lang.String url)
【TAG】転送先URLを指定します。- パラメータ:
url
- 転送先URL- 説明:
- 転送先URLを指定します。
-
setDbkeys
public void setDbkeys(java.lang.String key)
【TAG】DBキーをCSV形式でセットします。- パラメータ:
key
- DBキー(CSV形式)- 説明:
- URI の引数にセットするキーを CSV形式でセットします。 ここの指定は,DBTableModel 上のデータを取り込みます。
-
setKeys
public void setKeys(java.lang.String key)
【TAG】キーを CSV形式でセットします。- パラメータ:
key
- キー(CSV形式)- 説明:
- URI の引数にセットするキーを CSV形式でセットします。
-
setVals
public void setVals(java.lang.String val)
【TAG】キーに対応する値を CSV形式でセットします。- パラメータ:
val
- 値(CSV形式)- 説明:
- URI の引数にセットする値を CSV形式でセットします。 分解方法は、CSV変数を先に分解してから、getRequestParameter で値を取得します。 こうしないとデータ自身にカンマを持っている場合に分解をミスる為です。
- 変更履歴:
- 3.5.6.2 (2004/07/05) CommonTagSupport#getCSVParameter を使用
-
setGamenId
public void setGamenId(java.lang.String id)
【TAG】画面ID を指定します。- パラメータ:
id
- 画面ID- 関連項目:
setUseRedirect( String )
- 説明:
- gamenId 属性は、画面IDをキーに、実アドレスを求めるのに使用します。 画面IDが指定された場合は、実アドレスに変換する。指定されない場合は、 page 属性をそのままリダイレクトアドレスとします。 gamenId を指定した場合は、このuseRedirect属性に関係なく、Redirect されます。
- 変更履歴:
- 3.5.4.9 (2004/02/25) 新規追加
-
setUseRedirect
public void setUseRedirect(java.lang.String flag)
【TAG】response.sendRedirect するかどうか[true/false]を指定します(初期値:false)。- パラメータ:
flag
- リダイレクト転送か [true:redirect/false:forwrd]- 関連項目:
setGamenId( String )
- 説明:
- useRedirect 属性は、URLの転送方式を指定できます。 通常は、pageContext.forward しますが、この属性に true を 設定すると、response.sendRedirect します。 gamenId を指定した場合は、この属性に関係なく、Redirect されます。 初期値は、false (forward) です。
- 変更履歴:
- 3.5.6.6 (2004/08/23) 新規追加
-
setContentType
public void setContentType(java.lang.String type)
【TAG】response.sendRedirect する場合、ContentType を設定します(初期値:未指定)。- パラメータ:
type
- ContentType属性- 関連項目:
setUseRedirect( String )
- 説明:
- useRedirect="true" の場合のみ、この属性は有効になります。 例)contentType="text/plain; charset=UTF-8" 初期値は、未指定です。
- 変更履歴:
- 7.1.0.0 (2020/01/20) contentType 追加。
-
setTarget
public void setTarget(java.lang.String name)
【TAG】サブミット先の文書を表示させるフレーム、またはウィンドウの名前を指定します。- パラメータ:
name
- フレーム名(ターゲット属性)- 説明:
- サブミット先のフレーム名(ターゲット属性)を設定します。
- 変更履歴:
- 3.8.0.4 (2005/08/08) 新規追加
-
setFilename
public void setFilename(java.lang.String name)
【TAG】ファイル転送時にファイル名の別名を指定します(初期値:null)。- パラメータ:
name
- ファイル名- 説明:
- ファイルを転送する場合に、オープンさせるファイル名を指定します。 指定しない場合は、フォラード前に呼び出されたアドレスがそのまま使用されます。 ※ useRedirect="true"時(つまり、リダイレクトする場合)は、ファイル名の指定が できません。(少なくとも私の知識では出来ませんでした。)
-
setDisposition
public void setDisposition(java.lang.String dispos)
【TAG】ファイルダウンロードさせる場合に、Content-Disposition に設定する値 (初期値:CONTENT_DISPOSITION[=])。- パラメータ:
dispos
- Content-Dispositionに設定する値(inline/attachment)- 説明:
- inline(そのまま開く) を指定すると、PDF などは直接ダウンロードが始まります。 attachment(ダウンロードダイアログを表示する) を指定すると、保存のダイアログを表示しますが EXCEL などの場合、inline にしても、ダイアログが表示され、開くをクリックしても ダウンロードが始まらなかったり、EXCELが開いたあと、ブラウザの操作が出来なくなったり、 よくわからないため、選択できるようにします。 (初期値:システム定数のCONTENT_DISPOSITION[=])。
- 変更履歴:
- 6.4.3.0 (2016/02/05) disposition属性、新規追加。
-
setNoTransition
public void setNoTransition(java.lang.String noTrnstn)
【TAG】(通常は使いません)画面遷移を行わない形式の登録方法を使用するかを指定します。- パラメータ:
noTrnstn
- 画面遷移を行わない登録か [true:画面遷移を伴わない/false:伴う]- 説明:
- 画面遷移なしの登録を行うかどうかを指定します。
trueが指定された場合、forwardタグでは、実際の画面遷移は行わずに、forward先の
URLを[URL]の形でHTMLとして出力し、JavaScript側で 実際の画面遷移を発生させます。target属性は[TARGET]で 出力されます。 この値は、og:headタグで設定値、または前画面からの値を継承するため、通常、この属性ではセットしません。
- 変更履歴:
- 4.3.3.0 (2008/10/01) 新規追加, 5.1.3.0 (2010/02/01) noTransition、ajaxSubmitのコントロールは、requestで行う。
-
setUseAjaxSubmit
public void setUseAjaxSubmit(java.lang.String ajaxSubmit)
【TAG】(通常は使いません)ajaxを利用したsubmitを利用するかどうか[true:利用する/false:利用しない]を指定します。- パラメータ:
ajaxSubmit
- ajaxを利用したsubmitを利用するか [true:利用する/false:利用しない]- 説明:
- ajaxを利用したSubmit処理を行うかどうかを指定します。 setNoTransitionをtrueにした場合と同様の処理を行います。 (forwardせずにURLをDIVタグで出力する) この値は、og:headタグで設定値、または前画面からの値を継承するため、通常、この属性ではセットしません。
- 変更履歴:
- 4.3.8.0 (2009/08/01) 新規追加, 5.1.3.0 (2010/02/01) noTransition、ajaxSubmitのコントロールは、requestで行う。
-
setRedirectEncode
public void setRedirectEncode(java.lang.String redEnc)
【TAG】(通常は使いません)useRedirect=true時に 日本語を含む転送先(page)をバイナリ変換するときのコード名[UTF-8/Windows-31J]など(初期値:null)。- パラメータ:
redEnc
- 転送先(page)の変換文字コード名 (UTF-8/Windows-31Jなど)- 説明:
- 日本語ファイル名を持つ URL を useRedirect で転送する場合に、転送先(page)をバイナリ変換しないと、転送できないケースがあります。 このあたりは、ブラウザにも依存するので、既存の処理に影響しない様に、このパラメータを使用する場合のみ 処理を実行します。 IEでの日本語ファイル転送で、うまくいかない場合の、暫定処置です。 IEの場合は、redirectEncode="UTF-8" で、日本語ファイルを転送できます。 ただし、useRedirect=true時に filename 属性によるファイル名の書き換え処理はできませんので、ご注意ください。 初期値は、null で、バイナリエンコードしません。(互換性ありの状態です。)
- 変更履歴:
- 5.6.5.0 (2013/06/07) 新規追加
-
setUseURLCheck
public void setUseURLCheck(java.lang.String flag)
【TAG】リンクアドレスにURLチェック用の確認キーを付加するかどうか[true/false]を指定します。- パラメータ:
flag
- 暗号化するかかどうか [true:暗号化する/false:しない]- 関連項目:
URLCheckFilter
- 説明:
- この属性は、URLCheckFilter(org.opengion.hayabusa.filter.URLCheckFilter)と合わせて使用します。 trueが指定された場合、リンクURLのパラメーターに、URL確認用のパラメーターが出力されます。 このパラメーターを、URLCheckFilterが復号化し、正式なアクセスであるかどうかの判定を行います。 初期値は、 システムリソースのLINK_URL_CHECK です。
- 変更履歴:
- 5.10.11.0 (2019/05/03) 新規追加
-
setForceEnc
public void setForceEnc(java.lang.String flg)
【TAG】valsの値が[で開始している場合でもURLEncodeを通すかを設定します(初期値:false)。- パラメータ:
flg
- URLEncodeを通す場合は、trueをセット- 説明:
- テーブルモデルの値の変換のため、通常は先頭が[の場合はエンコードがかかりません。 強制的にかける場合にtrueにします。
- 変更履歴:
- 5.10.15.3 (2019/09/27) forceEnc追加
-
toString
public java.lang.String toString()
このオブジェクトの文字列表現を返します。 基本的にデバッグ目的に使用します。- オーバーライド:
toString
クラス内CommonTagSupport
- 戻り値:
- このクラスの文字列表現
- このメソッドは、nullを返しません
-
-