public class FileUpdateTag extends CommonTagSupport
ファイル検索リストを元に、action に基づいた処理を行うタグです。 command="ENTRY" 時のみ処理を行います。 fileQuery などで検索したファイル一覧のDBTableModel を元に、ファイルの コピー(COPY)、移動(MOVE,MODIFY)、削除(DELETE)などの処理を行います。 処理を行うオリジナルファイルは、PARENT,NAME というカラムでなければなりません。 このカラム名は、fileQuery の検索時には、必ず作成されるカラムです。 また、各アクションに対応するターゲットファイルは、TO_PARENT,TO_NAME という カラムで指定するか、targetDir 属性を利用してフォルダを指定します。 TO_PARENT(先フォルダ)と、TO_NAME(先ファイル名)は、処理に応じて、必要なカラムが あれば、自動的に処理します。 つまり、TO_PARENT のみの場合は、ファイル名はオリジナルのまま、フォルダのみ変更します。 逆に、TO_NAME の場合は、フォルダはそのままで、ファイル名のみ指定します。 両方同時に指定することも可能です。 targetDir 属性で指定する場合は、TO_PARENT のみに同じ値を設定した場合と同じになります。 この属性を指定すると、TO_PARENT は無視されます。(TO_NAME は有効です。) COPY、MOVE(,MODIFY) の場合は、指定のフォルダに一括処理可能です。 COPY、MOVE(,MODIFY) などの処理で、ターゲットフォルダが存在しないときに、作成するか、エラーにするかは createDir属性 で指定できます。初期値は、(true:作成する) です。 これは、COPY先やMOVE(,MODIFY)先が存在している前提のシステムで、不要な箇所に間違ってフォルダを 自動作成されると困る場合に、(false:作成しない) とすれば、間違いに気づく確率が上がります。 ※ このタグは、Transaction タグの対象ではありません。
●body:なし ●形式: ・<og:fileUpdate action = "COPY|MOVE|MODIFY|DELETE" アクション属性(必須) command = "[ENTRY]" ENTRY 時のみ実行します(初期値:ENTRY) targetDir = "[指定フォルダ]" ターゲットとなるフォルダ createDir = "[true/false]" ターゲットとなるフォルダがなければ作成する(true)かどうか(初期値:true) tableId = [HybsSystem.TBL_MDL_KEY] DBTableModel を取り出すキー outMessage = "[true/false]" 検索結果のメッセージを表示する(true)かどうかを指定(初期値:true) displayMsg = "MSG0040"; 処理結果を表示します(初期値:「 件登録しました。」) selectedAll = "[false/true]" データを全件選択済みとして処理する(true)かどうか指定(初期値:false) keepTimeStamp = "[false/true]" COPY,親違いMOVE(,MODIFY)の時にオリジナルのタイムスタンプを使用するかどうか(初期値:false) /> [action属性(必須)] COPY オリジナルファイルを、ターゲット(TO_PARENT,TO_NAMEで指定)にコピーします。 MOVE オリジナルファイルを、ターゲットに移動(COPY+DELETE)/名称変更(RENAME)します。 MODIFY (MOVE と同じ。エンジンの command を利用するための簡易action) DELETE オリジナルファイルを削除します(ターゲット(TO_PARENT,TO_NAME)は、関係しません)。 ●Tag定義: <og:fileUpdate action ○【TAG】アクション[COPY|MOVE|MODIFY|DELETE]をセットします(必須)。 command 【TAG】コマンド[ENTRY]をセットします(初期値:ENTRY) targetDir 【TAG】ターゲットとなるフォルダを指定します createDir 【TAG】ターゲットとなるフォルダがなければ、作成するかどうかを指定します(初期値:true) tableId 【TAG】(通常は使いません)結果のDBTableModelを、sessionに登録するときのキーを指定します scope 【TAG】キャッシュする場合のスコープ[request/page/session/application]を指定します(初期値:session) outMessage 【TAG】検索結果のメッセージを表示する/しない[true/false]を指定します(初期値:true) displayMsg 【TAG】処理結果を画面上に表示するメッセージリソースIDを指定します(初期値:MSG0040[ 件登録しました]) selectedAll 【TAG】データを全件選択済みとして処理するかどうか[true/false]を指定します(初期値:false) keepTimeStamp 【TAG】オリジナルのタイムスタンプを利用するかどうかを指定します(初期値:false) inPath 【TAG】入力共通パスを指定します(PARENTフォルダの共通部分、COPY/MOVE時にtargetDirと置換されます) 6.8.0.0 (2017/06/02)。 useTimeView 【TAG】処理時間を表示する TimeView を表示するかどうかを指定します (初期値:VIEW_USE_TIMEBAR[=true])。 caseKey 【TAG】このタグ自体を利用するかどうかの条件キーを指定します(初期値:null) caseVal 【TAG】このタグ自体を利用するかどうかの条件値を指定します(初期値:null) caseNN 【TAG】指定の値が、null/ゼロ文字列 でない場合(Not Null=NN)は、このタグは使用されます(初期値:判定しない) caseNull 【TAG】指定の値が、null/ゼロ文字列 の場合は、このタグは使用されます(初期値:判定しない) caseIf 【TAG】指定の値が、true/TRUE文字列の場合は、このタグは使用されます(初期値:判定しない) debug 【TAG】デバッグ情報を出力するかどうか[true/false]を指定します(初期値:false) /> ●使用例 ・<og:fileUpdate command="{@command}" action="COPY" /> TO_PARENT または、 TO_NAME(両方指定も可)による行単位 COPY 処理 fileQuery の useUpdateClm="true" を設定し、検索結果に、TO_PARENT、 TO_NAMEカラムを追加します。 TO_PARENT または、 TO_NAME は、columnSet などで値をセットしておきます。 ・<og:fileUpdate command="{@command}" action="MODIFY" targetDir="AAA_DIR" /> fileQuery の検索結果を、AAA_DIR フォルダに移動します。 ファイル名は、そのままオリジナルの値が使用されます。
5.3.4.0 (2011/04/01) 新規追加 |
修飾子とタイプ | フィールドと説明 |
---|---|
static java.lang.String |
ACT_COPY
action 引数に渡す事の出来る アクションコマンド COPY "COPY"
|
static java.lang.String |
ACT_DELETE
action 引数に渡す事の出来る アクションコマンド DELETE "DELETE"
|
static java.lang.String |
ACT_MODIFY
action 引数に渡す事の出来る アクションコマンド MODIFY "MODIFY"
|
static java.lang.String |
ACT_MOVE
action 引数に渡す事の出来る アクションコマンド MOVE "MOVE"
|
static java.lang.String |
CMD_ENTRY
command 引数に渡す事の出来る コマンド 登録"ENTRY"
|
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
コンストラクタと説明 |
---|
FileUpdateTag()
デフォルトコンストラクター
|
修飾子とタイプ | メソッドと説明 |
---|---|
int |
doEndTag()
Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。
|
protected int[] |
getParameterRows()
表示データの HybsSystem.ROW_SEL_KEY を元に、選ばれた 行を処理の対象とします。
|
protected void |
release2()
タグリブオブジェクトをリリースします。
|
void |
setAction(java.lang.String act)
【TAG】アクション[COPY|MOVE|MODIFY|DELETE]をセットします。
|
void |
setCommand(java.lang.String cmd)
【TAG】コマンド (ENTRY)をセットします(初期値:ENTRY)。
|
void |
setCreateDir(java.lang.String flag)
【TAG】ターゲットとなるフォルダがなければ、作成するかどうかを指定します(初期値:true)。
|
void |
setDisplayMsg(java.lang.String id)
【TAG】処理結果を画面上に表示するメッセージリソースIDを指定します(初期値:MSG0040[ 件登録しました])。
|
void |
setInPath(java.lang.String path)
【TAG】入力共通パスを指定します。
|
void |
setKeepTimeStamp(java.lang.String flag)
【TAG】オリジナルのタイムスタンプを利用するかどうかを指定します(初期値:false)。
|
void |
setOutMessage(java.lang.String flag)
【TAG】検索結果のメッセージを表示する/しない[true/false]を指定します(初期値:true)。
|
void |
setSelectedAll(java.lang.String all)
【TAG】データを全件選択済みとして処理するかどうか[true/false]を指定します(初期値:false)。
|
void |
setTableId(java.lang.String id)
【TAG】(通常は使いません)結果のDBTableModelを、sessionに登録するときのキーを指定します
(初期値:HybsSystem#TBL_MDL_KEY[=h_tblmdl])。
|
void |
setTargetDir(java.lang.String dir)
【TAG】ターゲットとなるフォルダを指定します(初期値:null)。
|
void |
setUseTimeView(java.lang.String flag)
【TAG】処理時間を表示する TimeView を表示するかどうか[true:する/false:しない]を指定します
(初期値:VIEW_USE_TIMEBAR[=true])。
|
java.lang.String |
toString()
このオブジェクトの文字列表現を返します。
|
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, 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 static final java.lang.String CMD_ENTRY
public static final java.lang.String ACT_COPY
public static final java.lang.String ACT_MOVE
public static final java.lang.String ACT_MODIFY
public static final java.lang.String ACT_DELETE
public FileUpdateTag()
6.4.2.0 (2016/01/29) PMD refactoring. Each class should declare at least one constructor. |
public int doEndTag()
doEndTag
インタフェース内 Tag
doEndTag
クラス内 CommonTagSupport
6.4.4.1 (2016/03/18) 意味のない、StringBuilderだったので、廃止します。 |
protected void release2()
release2
クラス内 CommonTagSupport
6.8.0.0 (2017/06/02) 入力共通パス(inPath)を指定します。 |
protected int[] getParameterRows()
getParameterRows
クラス内 CommonTagSupport
public void setAction(java.lang.String act)
act
- アクション (public static final 宣言されている文字列)アクションは、ファイルをコピー(COPY)したり、移動(MOVE,MODIFY)したり、削除(DELETE)する などの操作を指定する必須属性です。
action | 名称 | 機能 |
---|---|---|
COPY | コピー | オリジナルファイルを、ターゲット(TO_PARENT,TO_NAMEで指定)にコピーします。 |
MOVE | 移動 | オリジナルファイルを、ターゲットに移動(COPY+DELETE)/名称変更(RENAME)します。 |
MODIFY | 移動 | (MOVE と同じ。エンジンの command を利用するための簡易action) |
DELETE | 削除 | オリジナルファイルを、削除します。(フォルダ、ファイルに関わらず) |
6.3.4.0 (2015/08/01) Arrays.toString から String.join に置き換え。 |
6.4.3.4 (2016/03/11) String配列 から、Setに置き換えます。 |
public void setTargetDir(java.lang.String dir)
dir
- ターゲットとなるフォルダsetCreateDir( String )
targetDir 属性を利用する場合は、引数のファイル、またはフォルダが指定されたことに なります。COPY、MOVE(,MODIFY) の場合は、targetDir 属性にフォルダを指定することで一括処理可能です。 指定先のフォルダが存在しない場合は、createDir属性の値により処理が異なります。 createDir="true"(初期値)で、ターゲットフォルダが存在しない場合は、自動作成します。
public void setCreateDir(java.lang.String flag)
flag
- フォルダ作成可否 [true:作成する/false:作成しない]COPY,MOVE(,MODIFY) などの処理で、ターゲットフォルダが存在しないときに、作成するか、エラーにするかを createDir属性 で指定できます。 これは、COPY先やMOVE(,MODIFY)先が存在している前提のシステムで、不要な箇所に間違ってフォルダを 自動作成されると困る場合に、false:作成しない とすれば、間違いに気づく確率が上がります。 初期値は true:作成する です。
public void setTableId(java.lang.String id)
id
- テーブルID (sessionに登録する時のID)検索結果より、DBTableModelオブジェクトを作成します。これを、下流のviewタグ等に 渡す場合に、通常は、session を利用します。その場合の登録キーです。 query タグを同時に実行して、結果を求める場合、同一メモリに配置される為、 この tableId 属性を利用して、メモリ空間を分けます。 (初期値:HybsSystem#TBL_MDL_KEY[=h_tblmdl])。
public void setCommand(java.lang.String cmd)
cmd
- コマンド (public static final 宣言されている文字列)このタグは、command="ENTRY" でのみ実行されます。 コマンドは,HTMLから(get/post)指定されますので,CMD_xxx で設定される フィールド定数値のいづれかを、指定できます。 初期値は、ENTRY なので、何も指定しなければ、実行されます。
public void setOutMessage(java.lang.String flag)
flag
- メッセージ表示可否 [true:表示する/それ以外:含めない]初期値は、表示する:true です。
public void setDisplayMsg(java.lang.String id)
id
- 処理結果表示メッセージIDここでは、検索結果の件数や登録された件数をまず出力し、 その次に、ここで指定したメッセージをリソースから取得して表示します。 表示させたくない場合は, displayMsg = "" をセットしてください。 displayMsg の初期値は、MSG0040[ 件登録しました]です。
public void setSelectedAll(java.lang.String all)
all
- 全件選択済み指定 [true:全件選択済み/false:通常]全てのデータを選択済みデータとして扱って処理します。 全件処理する場合に、(true/false)を指定します。 初期値は false です。
public void setKeepTimeStamp(java.lang.String flag)
flag
- タイムスタンプ利用 [true:する/false:しない]COPYや親違いMOVE(,MODIFY)の時に、オリジナルのタイムスタンプをそのままコピー先のファイルにも 適用するかどうかを指定します。 タイムスタンプを初期化されたくない場合に、true に設定します。 初期値は 利用しない:false です。
public void setUseTimeView(java.lang.String flag)
flag
- 処理時間を表示 [true:する/false:しない]true に設定すると、処理時間を表示するバーイメージが表示されます。 これは、DB検索、APサーバー処理、画面表示の各処理時間をバーイメージで 表示させる機能です。処理時間の目安になります。 (初期値:VIEW_USE_TIMEBAR[=true])。
6.3.6.0 (2015/08/16) useTimeView の初期値を、VIEW_USE_TIMEBAR にする。 |
public void setInPath(java.lang.String path)
path
- 入力共通パス通常、fileQueryタグ等で、検索した結果は、PARENT,NAME というカラムにセットされます。 この、fileQueryのfrom属性に、検索を開始するディレクトリを指定し、multi="true"で、 多段階展開 した場合、この、from属性に指定したパスを、inPath にセットすることで、 以下の階層フォルダそのままに、targetDir にCOPY または、MOVE することが出来ます。 逆に、指定しない場合は、フォルダ階層無しで、COPY,MOVE されます。
6.8.0.0 (2017/06/02) 入力共通パスを指定します。 |
public java.lang.String toString()
toString
クラス内 CommonTagSupport
Webアプリケーションフレームワーク openGionCopyright (c) 2009 The openGion Project.