クラス FileUDTag
java.lang.Object
jakarta.servlet.jsp.tagext.TagSupport
jakarta.servlet.jsp.tagext.BodyTagSupport
org.opengion.hayabusa.taglib.CommonTagSupport
org.opengion.hayabusa.taglib.FileUDTag
- すべての実装されたインタフェース:
BodyTag
,IterationTag
,JspTag
,Tag
,TryCatchFinally
,Serializable
ファイルアップロード/ダウンロードリンクを作成するタグです(通常は result_info.jsp に組込み)。
画面検索した結果を、ダウンロードしたり、アップロードする機能は、画面リソースの
ロール制御で管理しています。
ただし、デフォルトで、以下の制限が掛かっています。
ファイルダウンロード
・command="NEW|RENEW|FIRST|LAST|PREV|NEXT|VIEW|RESET" のみ
ファイルアップロード
・command="COPY|INSERT" のみ
5.7.8.1 (2014/07/18)
addDownCmnd と、addUpldCmnd を指定すれば、ダウンロード、アップロードできる
command を増やすことが可能です。
また、typeDownload="true" にするとDownload 処理を行う為の前処理を実施します。
Download 処理を行うには、指定の画面(呼び出し元)と、抜き出した時の
DBTableModel がマッチしているか判定します。
また、DBTableModel が存在しない、または、不備な場合(オーバーフロー)は、
最終SQLを実行する必要があり、そもそも、抜出処理が出来ない状態では、
エラーを返す必要があります。
それら、一連のDownload 処理を行うかどうかを指定します。
true の場合、session の HybsSystem.DB_LAST_SQL_KEY に格納された
DBLastSql オブジェクトを取得し、scope が request または、overflow が
true の場合に、BODY部を実行します。(通常、queryタグを記述します。)
query の出力先は、scope を request にします。
それ以外は、tableId から取り出した DBTableModel を、scope = "request"
に(アドレスのみ)コピーします。
writeTable タグでは、scope = "request" から、DBTableModel を取り出します。
- 関連項目:
- 変更履歴:
- 4.3.0.0 (2008/07/04) 新規追加, 5.7.4.1 (2014/03/15) エラーメッセージ変更, 5.9.32.1 (2018/05/08) URLチェック対応, 7.3.2.3 (2021/04/09) システム定数のICON_DIRやIMAGE_DIRを使用します。
- 機能分類
- ファイルアップロード/ダウンロード
- 形式サンプル:
- ●形式:一般ユーザーが直接組み込むことはありません。 ●body:あり(EVAL_BODY_BUFFERED:BODYを評価し、{@XXXX} を解析します) ●Tag定義: <og:fileUD command 【TAG】command を指定します downloadImg 【TAG】ダウンロード時のアイコンを指定します(初期値:"{@SYS.JSP}/image/fileDownload.gif") downloadJsp 【TAG】ダウンロード時の呼び出しJSPを指定します(初期値:"{@SYS.JSP}/common/fileDownload.jsp") uploadImg 【TAG】アップロード時のアイコンを指定します(初期値:"{@SYS.JSP}/image/fileUpload.gif") uploadJsp 【TAG】アップロード時の呼び出しJSPを指定します(初期値:"{@SYS.JSP}/common/filePopup.jsp") imgWidth 【TAG】アイコン幅サイズ(px)を指定します(初期値:20px) imgHeight 【TAG】アイコン高さサイズ(px)を指定します(初期値:20px) filename 【TAG】ダウンロード時ファイル名を指定します(初期値:"{@GUI.LABEL}") 6.8.1.4 (2017/08/25) 拡張子はつけません。 addDownCmnd 【TAG】ダウンロード時のコマンドを追加指定できます(初期値:null) addUpldCmnd 【TAG】アップロード時のコマンドを追加指定できます(初期値:null) roles 【TAG】ロールズをセットします target 【TAG】ダウンロード文書を表示させるフレーム、またはウィンドウの名前を指定します errorMsg 【TAG】ダウンロード出来ない場合のエラーメッセージIDを指定します(初期値:ERR0028) typeDownload 【TAG】Download 処理を行うかどうかを指定します(初期値:false) useEditLink 【TAG】編集リンク自体を出すかどうかどうか(初期値:true) editImg 【TAG】編集アイコンを指定します(初期値:"{@SYS.JSP}/icon/edit.png") clmEdit 【TAG】編集時にカラム編集タブを表示するかどうか(初期値:true) debug 【TAG】デバッグ情報を出力するかどうか[true/false]を指定します(初期値:false) > ... Body ... </og:fileUD> ●使用例 <og:fileUD command="{@command}" /> <og:fileUD command = command設定 (ダウンロード="NEW|RENEW|FIRST|LAST|PREV|NEXT|VIEW"、 アップロード="COPY|INSERT") [ downloadImg ] = "{@SYS.JSP}/image/fileDownload.gif" ダウンロード時のアイコン [ downloadJsp ] = "{@SYS.JSP}/common/fileDownload.jsp" ダウンロード時の呼び出しJSP [ uploadImg ] = "{@SYS.JSP}/image/fileUpload.gif" アップロード時のアイコン [ uploadJsp ] = "{@SYS.JSP}/common/filePopup.jsp" アップロード時の呼び出しJSP [ imgWidth ] = "20px" アイコン幅サイズ(px) [ imgHeight ] = "20px" アイコン高さサイズ(px) [ filename ] = "{@GUI.LABEL}.xls" ダウンロード時ファイル名 [ roles ] = "GE|DOC" アクセスロールズ [ target ] = "_blank" ダウンロードファイルを開くターゲット [ errorMsg ] = "ERR0042" エラーメッセージID [ typeDownload] = "false/true" Download 処理を行うかどうか(初期値:false) />
- 導入されたバージョン:
- JDK5.0,
-
フィールドの概要
クラスから継承されたフィールド org.opengion.hayabusa.taglib.CommonTagSupport
BR, BUFFER_MIDDLE, CR
クラスから継承されたフィールド jakarta.servlet.jsp.tagext.BodyTagSupport
bodyContent
クラスから継承されたフィールド jakarta.servlet.jsp.tagext.TagSupport
id, pageContext
インタフェースから継承されたフィールド jakarta.servlet.jsp.tagext.BodyTag
EVAL_BODY_BUFFERED, EVAL_BODY_TAG
インタフェースから継承されたフィールド jakarta.servlet.jsp.tagext.IterationTag
EVAL_BODY_AGAIN
インタフェースから継承されたフィールド jakarta.servlet.jsp.tagext.Tag
EVAL_BODY_INCLUDE, EVAL_PAGE, SKIP_BODY, SKIP_PAGE
-
コンストラクタの概要
コンストラクタ -
メソッドの概要
修飾子とタイプメソッド説明int
doEndTag()
Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。int
Taglibの開始タグが見つかったときに処理する doStartTag() を オーバーライドします。protected void
release2()
タグリブオブジェクトをリリースします。void
setAddDownCmnd
(String cmd) 【TAG】ダウンロード時のコマンドを追加指定できます(初期値:null)。void
setAddUpldCmnd
(String cmd) 【TAG】アップロード時のコマンドを追加指定できます(初期値:null)。void
setClmEdit
(String type) 【TAG】Edit画面でカラム編集タブを出すかどうか[true:出す/false:出さない]設定します(初期値:true:出す)。void
setCommand
(String cmd) 【TAG】command を指定します。void
setDownloadImg
(String img) 【TAG】ダウンロード時のアイコンを指定します(初期値:"{@SYS.JSP}/image/fileDownload.gif")。void
setDownloadJsp
(String file) 【TAG】ダウンロード時の呼び出しJSPを指定します(初期値:"{@SYS.JSP}/common/fileDownload.jsp")。void
setEditImg
(String img) 【TAG】編集アイコンを指定します(初期値:"{@SYS.JSP}/icon/edit.png")。void
setErrorMsg
(String msg) 【TAG】ダウンロード出来ない場合のエラーメッセージIDを指定します(初期値:ERR0042)。void
setFilename
(String file) 【TAG】ダウンロード時ファイル名を指定します(初期値:"{@GUI.LABEL}")。void
setImgHeight
(String height) 【TAG】アイコン高さサイズ(px)を指定します(初期値:20px)。void
setImgWidth
(String width) 【TAG】アイコン幅サイズ(px)を指定します(初期値:20px)。void
【TAG】ロールズをセットします。void
【TAG】ダウンロード文書を表示させるフレーム、またはウィンドウの名前を指定します。void
setTypeDownload
(String type) 【TAG】Download 処理を行うかどうか[true:実行する/false:リンク作成]を指定します(初期値:false)。void
setUploadImg
(String img) 【TAG】アップロード時のアイコンを指定します(初期値:"{@SYS.JSP}/image/fileUpload.gif")。void
setUploadJsp
(String file) 【TAG】アップロード時の呼び出しJSPを指定します(初期値:"{@SYS.JSP}/common/filePopup.jsp")。void
setUseEditLink
(String flag) 【TAG】Edit画面でカラム編集リンクを出力するかどうか[true:する/false:しない]設定します(初期値:true:する)。void
setUseURLCheck
(String flag) 【TAG】リンクアドレスにURLチェック用の確認キーを付加するかどうか[true/false]を指定します。toString()
このオブジェクトの文字列表現を返します。クラスから継承されたメソッド org.opengion.hayabusa.taglib.CommonTagSupport
add, add, addEventColumn, addEventColumn, check, commitTableObject, debugPrint, debugPrint, doAfterBody, doCatch, doFinally, get, getApplicationInfo, getAttributes, getBodyRawString, getBodyString, getContextAttribute, getContextPath, getCookie, getCSVParameter, getCSVParameter, getDateFormat, getDBColumn, getDBFunctionName, getDocumentLink, getGUIInfo, getGUIInfoAttri, getHostName, getLabel, getLabelInterface, getLanguage, getLongLabel, getMsg, getMsglbl, getObject, getParameterNames, getParameterRows, getRequest, getRequestAttribute, getRequestCacheData, getRequestMethod, getRequestParameter, getRequestParameterValues, getRequestValue, getRequestValue, getRequestValues, getReservedParameter, getReservedValue, getResource, getSanitizedBodyString, getScope, getSessionAttribute, 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, useStrict, useTag, useXssCheck
クラスから継承されたメソッド jakarta.servlet.jsp.tagext.BodyTagSupport
doInitBody, getBodyContent, getPreviousOut, release, setBodyContent
クラスから継承されたメソッド jakarta.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
インタフェースから継承されたメソッド jakarta.servlet.jsp.tagext.Tag
getParent, setPageContext, setParent
-
コンストラクタの詳細
-
FileUDTag
public FileUDTag()デフォルトコンストラクター- 変更履歴:
- 6.4.2.0 (2016/01/29) PMD refactoring. Each class should declare at least one constructor.
-
-
メソッドの詳細
-
doStartTag
Taglibの開始タグが見つかったときに処理する doStartTag() を オーバーライドします。- 定義:
doStartTag
インタフェース内Tag
- オーバーライド:
doStartTag
クラス内CommonTagSupport
- 戻り値:
- 後続処理の指示(SKIP_BODY)
- 変更履歴:
- 5.1.6.0 (2010/05/01) 画面項目並べ替え対応, 6.2.0.1 (2015/03/06) 画面IDのキーを"GAMENID" に統一します。
-
doEndTag
Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。- 定義:
doEndTag
インタフェース内Tag
- オーバーライド:
doEndTag
クラス内CommonTagSupport
- 戻り値:
- 後続処理の指示
- 変更履歴:
- 4.3.0.1 (2008/08/11) callBack パラメータの設定漏れ修正、引数から見直し, 5.1.6.0 (2010/05/01) 帳票画面定義機能対応, 5.1.7.0 (2010/06/01) 進む・戻るボタンでもExcel出力ボタンを出す, 5.3.6.0 (2011/06/01) Edit機能見直し, 5.3.7.0 (2011/07/01) Excel取込で画面IDとアドレスが異なる場合にエラーとなるバグを修正, 5.3.7.0 (2011/07/01) 編集画面をリサイズできるように対応します。, 5.3.7.0 (2011/07/01) PL/SQLを利用した検索でファイルダウンロードが出来るように対応します。, 5.4.2.0 (2011/12/01) 画面リソースで画面編集機能のON/OFFを設定できるようにする。, 5.5.2.4 (2012/05/16) nullに対する冗長な比較, 5.5.5.2 (2012/08/20) 画面リソースのoモード対応, 5.5.6.2 (2012/09/24) makeTagのtarget対応, 5.6.0.2 (2013/01/19) editモードのisEditコントロール対応, 5.7.5.0 (2014/04/04) 編集リンク自体を出すかどうかどうか(初期値:true), 5.7.8.1 (2014/07/18) command="RESET" 時に、ダウンロードリンクを表示, 5.7.8.1 (2014/07/18) addDownCmnd , addUpldCmndを追加, 6.2.0.1 (2015/03/06) 画面IDのキーを"GAMENID" に統一します。, 6.2.2.0 (2015/03/27) ファイルの拡張子を、".xls" から、システムリソースの TABLE_WRITER_EXCEL_TYPE に変更, 6.3.1.0 (2015/06/28) 4:個人設定可のリソースの取得方法に修正(バグFix)。TABLE_WRITER_EXCEL_TYPE, 6.3.4.0 (2015/08/01) 14_EDIT の指定で、フォルダではなく、index.jspまで指定します。, 6.4.4.1 (2016/03/18) StringBuilderの代わりに、OgBuilderを使用する。, 6.8.1.3 (2017/08/04) 日本語のeditNameが、ネイティブモードでHTTP400 エラーになる。・・・ 5.10.0.2 (2018/06/22), 6.8.1.4 (2017/08/25) filename に、拡張子はつけません。, 5.9.32.1 (2018/05/11) makeTagに、URLチェック対応のための引数を追加
-
release2
タグリブオブジェクトをリリースします。 キャッシュされて再利用されるので、フィールドの初期設定を行います。- オーバーライド:
release2
クラス内CommonTagSupport
- 変更履歴:
- 5.7.4.1 (2014/03/15) エラーメッセージ変更, 5.7.5.0 (2014/04/04) useEditLink 追加, 5.7.8.1 (2014/07/18) addDownCmnd,addUpldCmnd 追加, 5.9.32.1 (2018/05/08) URLチェック対応, 7.3.2.3 (2021/04/09) sysJspを、static化します。
-
setCommand
【TAG】command を指定します。- パラメータ:
cmd
- コマンド [NEW/RENEW/FIRST/LAST/PREV/NEXT/VIEW/RESET/COPY/INSERT]- 関連項目:
- 説明:
- command を指定します。 ダウンロードは、"NEW|RENEW|FIRST|LAST|PREV|NEXT|VIEW|RESET" のみ有効です。 アップロードは、"COPY|INSERT" のみ有効です。 それ以外のコマンドでは、アイコンは表示されません。 例えば、NEXT/PREV など。
-
setDownloadImg
【TAG】ダウンロード時のアイコンを指定します(初期値:"{@SYS.JSP}/image/fileDownload.gif")。- パラメータ:
img
- ダウンロード時のアイコン- 説明:
- ダウンロード時に表示されるアイコンを指定します。 初期値:"{@SYS.JSP}/image/fileDownload.gif" です。
-
setDownloadJsp
【TAG】ダウンロード時の呼び出しJSPを指定します(初期値:"{@SYS.JSP}/common/fileDownload.jsp")。- パラメータ:
file
- ダウンロード時の呼び出しJSP- 説明:
- ダウンロード時に呼び出されるJSPファイル名を指定します。 初期値:"{@SYS.JSP}/common/fileDownload.jsp" です。
-
setUploadImg
【TAG】アップロード時のアイコンを指定します(初期値:"{@SYS.JSP}/image/fileUpload.gif")。- パラメータ:
img
- アップロード時のアイコン- 説明:
- アップロード時に表示されるアイコンを指定します。 初期値:"{@SYS.JSP}/image/fileUpload.gif" です。
-
setUploadJsp
【TAG】アップロード時の呼び出しJSPを指定します(初期値:"{@SYS.JSP}/common/filePopup.jsp")。- パラメータ:
file
- アップロード時の呼び出しJSP- 説明:
- アップロード時に呼び出されるJSPファイル名を指定します。 初期値:"{@SYS.JSP}/common/filePopup.jsp" です。
-
setImgWidth
【TAG】アイコン幅サイズ(px)を指定します(初期値:20px)。- パラメータ:
width
- アイコン幅サイズ(px)- 説明:
- アップロード/ダウンロードのアイコンを表示する際の幅サイズ(px)を指定します。 ファイルサイズは、アップロード/ダウンロード共通です。 初期値は、20px です。
-
setImgHeight
【TAG】アイコン高さサイズ(px)を指定します(初期値:20px)。- パラメータ:
height
- アイコン高さサイズ(px)- 説明:
- アップロード/ダウンロードのアイコンを表示する際の高さサイズ(px)を指定します。 ファイルサイズは、アップロード/ダウンロード共通です。 初期値は、20px です。
-
setFilename
【TAG】ダウンロード時ファイル名を指定します(初期値:"{@GUI.LABEL}")。- パラメータ:
file
- ダウンロード時ファイル名 ("{@GUI.LABEL}")- 変更履歴:
- 6.8.1.4 (2017/08/25) 拡張子はつけません。
- 説明:
- ダウンロード時のファイル名を指定します 通常は、画面のラベル(言語対応)で、拡張子は付けません。ファイルの種類に応じて、拡張子を自動設定します。
-
setRoles
【TAG】ロールズをセットします。- パラメータ:
rls
- パラメータ- 説明:
- ここで指定したロールを元に、ユーザー毎のアクセス許可がチェックされます。 アクセス許可されないと、表示されません。 このロールを指定しない場合は、画面のロールが使用されます。
-
setTarget
【TAG】ダウンロード文書を表示させるフレーム、またはウィンドウの名前を指定します。- パラメータ:
name
- ダウンロード文書のフレーム名(ターゲット属性)- 説明:
- フレーム名(ターゲット属性)を設定します。
-
setTypeDownload
【TAG】Download 処理を行うかどうか[true:実行する/false:リンク作成]を指定します(初期値:false)。- パラメータ:
type
- Download処理 [true:実行する/false:リンク作成]- 説明:
- Download 処理を行うには、指定の画面(呼び出し元)と、抜き出した時の DBTableModel がマッチしているか判定します。 また、DBTableModel が存在しない、または、不備な場合(オーバーフロー)は、 最終SQLを実行する必要があり、そもそも、抜出処理が出来ない状態では、 エラーを返す必要があります。 それら、一連のDownload 処理を行うかどうかを指定します。 true の場合、session の HybsSystem.DB_LAST_SQL_KEY に格納された DBLastSql オブジェクトを取得し、scope が request または、overflow が true の場合に、BODY部を実行します。(通常、queryタグを記述します。) query の出力先は、scope を request にします。 それ以外は、tableId から取り出した DBTableModel を、scope = "request" に(アドレスのみ)コピーします。 writeTable タグでは、scope="request" から、DBTableModel を取り出します。 初期値は、false(抜き出しでは無くリンク作成) です。
-
setErrorMsg
【TAG】ダウンロード出来ない場合のエラーメッセージIDを指定します(初期値:ERR0042)。- パラメータ:
msg
- ダウンロード文書のフレーム名(ターゲット属性)- 説明:
- DBTableModel が、最後に作成された画面と、メモリ中の DBLastSql オブジェクトが 管理している情報が異なる場合は、ダウンロード出来ません。 同様に、DBLastSql オブジェクト 自身が作成されていない場合も出来ません。 そのようなケースに表示するエラーメッセージのメッセージIDを指定します。 引数は、指定できません。 初期値は、『ERR0042:出力対象データが見つかりませんでした。再度検索して下さい。』 です。
-
setEditImg
【TAG】編集アイコンを指定します(初期値:"{@SYS.JSP}/icon/edit.png")。- パラメータ:
img
- アップロード時のアイコン- 変更履歴:
- 5.1.6.0 (2010/05/01) 新規追加
- 説明:
- 編集アイコンを指定します。 初期値:"{@SYS.JSP}/icon/edit.png" です。
-
setClmEdit
【TAG】Edit画面でカラム編集タブを出すかどうか[true:出す/false:出さない]設定します(初期値:true:出す)。- パラメータ:
type
- 編集タブ出力 [true:出す/false:出さない]- 説明:
- falseを指定するとカラム編集タブを出さない。
-
setUseEditLink
【TAG】Edit画面でカラム編集リンクを出力するかどうか[true:する/false:しない]設定します(初期値:true:する)。- パラメータ:
flag
- リンク出力 [true:する/false:しない]- 関連項目:
- 変更履歴:
- 5.7.5.0 (2014/04/04) 新規追加
- 説明:
- falseを指定するとカラム編集リンクを出さない。 従来は、カラム編集画面の内、【表示項目設定】タブを表示しないだけでした。 この設定は、RWMODE を ##d , ##u , ##f の場合にも同様の設定が可能です。 カラム編集リンク自体を出さない機能は、現時点ではリソース設定できないため、 タグのパラメータとして指定できるようにします。 基本的には、このパラメータはほとんど使われていないハズなので、 機能を置き換えます。 初期値は、カラム編集リンクを出力する(=true)です。
-
setAddDownCmnd
【TAG】ダウンロード時のコマンドを追加指定できます(初期値:null)。- パラメータ:
cmd
- 追加するコマンド- 関連項目:
- 変更履歴:
- 5.7.8.1 (2014/07/18) 新規追加
- 説明:
- ダウンロードリンクが表示される command は、 "NEW|RENEW|FIRST|LAST|PREV|NEXT|VIEW|RESET" のみです。 これ以外の command で、ダウンロードリンクを表示させたい場合は、 この、addDownCmnd に、記述します。 初期値は、null(追加コマンドはない)です。
-
setAddUpldCmnd
【TAG】アップロード時のコマンドを追加指定できます(初期値:null)。- パラメータ:
cmd
- 追加するコマンド- 関連項目:
- 変更履歴:
- 5.7.8.1 (2014/07/18) 新規追加
- 説明:
- アップロードリンクが表示される command は、"COPY|INSERT" のみです。 これ以外の command で、アップロードリンクを表示させたい場合は、 この、addUpldCmnd に、記述します。 初期値は、null(追加コマンドはない)です。
-
setUseURLCheck
【TAG】リンクアドレスにURLチェック用の確認キーを付加するかどうか[true/false]を指定します。- パラメータ:
flag
- 暗号化するかかどうか [true:暗号化する/false:しない]- 関連項目:
- 変更履歴:
- 5.9.32.1 (2018/05/08) 追加
- 説明:
- この属性は、URLCheckFilter(org.opengion.hayabusa.filter.URLCheckFilter)と合わせて使用します。 trueが指定された場合、リンクURLのパラメーターに、URL確認用のパラメーターが出力されます。 このパラメーターを、URLCheckFilterが復号化し、正式なアクセスであるかどうかの判定を行います。 この属性はjsp/fileDownloadに対してチェックをかける場合にtrueにする必要があります。 通常はシステムリソースのFILEUD_URL_CHECKで設定します。 初期値は、"false"(確認キーを出力しない) です。
-
toString
このオブジェクトの文字列表現を返します。 基本的にデバッグ目的に使用します。- オーバーライド:
toString
クラス内CommonTagSupport
- 戻り値:
- このクラスの文字列表現
- このメソッドは、nullを返しません
-