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) target 【TAG】サブミット先の文書を表示させるフレーム、またはウィンドウの名前を指定します filename 【TAG】ファイル転送時にファイル名の別名を指定します(初期値:null) disposition 【TAG】ファイル転送時のヘッダー情報として、Content-Dispositionに設定する値を指定します(初期値:CONTENT_DISPOSITION[=attachment])。 noTransition 【TAG】(通常は使いません)画面遷移を行わない形式の登録方法を使用するかを指定します useAjaxSubmit 【TAG】(通常は使いません)ajaxを利用したsubmitを利用するかどうかを指定します redirectEncode 【TAG】(通常は使いません)useRedirect=true時に 日本語を含む転送先(page)をバイナリ変換するときのコード名[UTF-8/Windows-31J]など(初期値:null) 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を出力します。(画面遷移なしモード時に使用します)" />
BR, BUFFER_MIDDLE, CR
bodyContent
id, pageContext
EVAL_BODY_BUFFERED, EVAL_BODY_TAG
EVAL_BODY_AGAIN
EVAL_BODY_INCLUDE, EVAL_PAGE, SKIP_BODY, SKIP_PAGE
コンストラクタと説明 |
---|
ForwardTag()
デフォルトコンストラクター
|
修飾子とタイプ | メソッドと説明 |
---|---|
int |
doEndTag()
Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。
|
protected void |
release2()
タグリブオブジェクトをリリースします。
|
void |
setDbkeys(java.lang.String key)
【TAG】DBキーをCSV形式でセットします。
|
void |
setDisposition(java.lang.String dispos)
【TAG】ファイルダウンロードさせる場合に、Content-Disposition に設定する値
(初期値:CONTENT_DISPOSITION[=attachment])。
|
void |
setFilename(java.lang.String name)
【TAG】ファイル転送時にファイル名の別名を指定します(初期値:null)。
|
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 |
setVals(java.lang.String val)
【TAG】キーに対応する値を CSV形式でセットします。
|
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, 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 ForwardTag()
6.4.2.0 (2016/01/29) PMD refactoring. Each class should declare at least one constructor. |
public int 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と同じ対応を入れます)。 |
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属性、新規追加。 |
public void setPage(java.lang.String url)
url
- 転送先URL転送先URLを指定します。
public void setDbkeys(java.lang.String key)
key
- DBキー(CSV形式)URI の引数にセットするキーを CSV形式でセットします。 ここの指定は,DBTableModel 上のデータを取り込みます。
public void setKeys(java.lang.String key)
key
- キー(CSV形式)URI の引数にセットするキーを CSV形式でセットします。
public void setVals(java.lang.String val)
val
- 値(CSV形式)URI の引数にセットする値を CSV形式でセットします。 分解方法は、CSV変数を先に分解してから、getRequestParameter で値を取得します。 こうしないとデータ自身にカンマを持っている場合に分解をミスる為です。
3.5.6.2 (2004/07/05) CommonTagSupport#getCSVParameter を使用 |
public void setGamenId(java.lang.String id)
id
- 画面IDsetUseRedirect( String )
gamenId 属性は、画面IDをキーに、実アドレスを求めるのに使用します。 画面IDが指定された場合は、実アドレスに変換する。指定されない場合は、 page 属性をそのままリダイレクトアドレスとします。 gamenId を指定した場合は、このuseRedirect属性に関係なく、Redirect されます。
3.5.4.9 (2004/02/25) 新規追加 |
public void setUseRedirect(java.lang.String flag)
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) 新規追加 |
public void setTarget(java.lang.String name)
name
- フレーム名(ターゲット属性)サブミット先のフレーム名(ターゲット属性)を設定します。
3.8.0.4 (2005/08/08) 新規追加 |
public void setFilename(java.lang.String name)
name
- ファイル名ファイルを転送する場合に、オープンさせるファイル名を指定します。 指定しない場合は、フォラード前に呼び出されたアドレスがそのまま使用されます。 ※ useRedirect="true"時(つまり、リダイレクトする場合)は、ファイル名の指定が できません。(少なくとも私の知識では出来ませんでした。)
public void setDisposition(java.lang.String dispos)
dispos
- Content-Dispositionに設定する値(inline/attachment)inline(そのまま開く) を指定すると、PDF などは直接ダウンロードが始まります。 attachment(ダウンロードダイアログを表示する) を指定すると、保存のダイアログを表示しますが EXCEL などの場合、inline にしても、ダイアログが表示され、開くをクリックしても ダウンロードが始まらなかったり、EXCELが開いたあと、ブラウザの操作が出来なくなったり、 よくわからないため、選択できるようにします。 (初期値:システム定数のCONTENT_DISPOSITION[=attachment])。
6.4.3.0 (2016/02/05) disposition属性、新規追加。 |
public void setNoTransition(java.lang.String noTrnstn)
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で行う。 |
public void setUseAjaxSubmit(java.lang.String ajaxSubmit)
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で行う。 |
public void setRedirectEncode(java.lang.String redEnc)
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) 新規追加 |
public java.lang.String toString()
toString
クラス内 CommonTagSupport
Webアプリケーションフレームワーク openGionCopyright (c) 2009 The openGion Project.