org.opengion.hayabusa.taglib
クラス FileQueryTag
java.lang.Object
javax.servlet.jsp.tagext.TagSupport
javax.servlet.jsp.tagext.BodyTagSupport
org.opengion.hayabusa.taglib.CommonTagSupport
org.opengion.hayabusa.taglib.QueryTag
org.opengion.hayabusa.taglib.FileQueryTag
- すべての実装されたインタフェース:
- java.io.Serializable, javax.servlet.jsp.tagext.BodyTag, javax.servlet.jsp.tagext.IterationTag, javax.servlet.jsp.tagext.JspTag, javax.servlet.jsp.tagext.Tag, javax.servlet.jsp.tagext.TryCatchFinally
public class FileQueryTag
- extends QueryTag
ファイルを検索し、DBTableModel にセットするタグです。
ファイルの検索結果は、"LEVEL","FILE_TYPE","PARENT","NAME","LASTMODIFIED","FILE_LENGTH","RWH"
のカラムを持つ DBTableModel にセット されます。このカラムは、固定です。
並び替えについては、このタグで指定しますが、ファイルの選別(where 条件)は、
BODY 部に記述する fileWhere タグで指定します。(複数指定可能))
[カラム名] 検索するファイルの属性は、以下のカラム名で作成されます。
LEVEL ディレクトリを展開する場合のレベル。
FILE_TYPE ファイル(F)かディレクトリ(D)であるか判定。
PARENT この抽象パス名の親のパス名文字列を返します。
NAME この抽象パス名が示すファイルまたはディレクトリの名前を返します。
LASTMODIFIED 最後に変更された時刻を返します。
FILE_LENGTH ファイルの長さを返します。
RWH 読み込み、書き込み、隠し属性をそれぞれ、r,w,h で表します。
[from 属性] 検索を開始するファイルまたはディレクトリの名前
[multi 属性] ディレクトリを下位展開するかどうか?
true 下位展開する
false 下位展開しない(初期値)
[tableId 属性] settion に登録する時のID
[scope 属性] settion に登録する時のスコープ "request","page","session","applicaton"
[maxRowCount 属性] 検索時の最大検索件数
[displayMsg 属性] 検索終了時に表示する メッセージリソースのID
[overflowMsg 属性] オーバーフロー時に表示する メッセージリソースのID
[command 属性] 実行を制御するコマンド "NEW" と "RENEW" 時のみ実行する。(初期値 NEW)
[orderBy 属性] ソートするカラムを指定します(一つのみ)
[desc 属性] 逆順でソートする場合に、true を指定します。
[addClms 属性] 検索結果のカラム列に追加するカラム名を、カンマ区切り文字で指定します。
[useUpdateClms 属性] trueをセットすると、fileUpdateで使用する TO_PARENT、TO_NAMEカラムを追加します。(初期値 false)
[fileType属性] 選択対象(FILE,DIR)を指定します。下位展開は考慮(multi 属性準拠)されます。
- 関連項目:
- 直列化された形式
- 形式サンプル:
●形式:<og:fileQuery from="…" multi="true/false" >
<og:fileWhere … />
…
</og:fileQuery>
●body:あり
●使用例
・一般的な属性でファイルの検索を行います。
<og:fileQuery
from = "d:/webapps/dbdef/jsp/"
multi = "true"
command = "{@command}" >
<og:fileWhere endWith=".jsp" />
</og:fileQuery>
・最終変更日で逆順ソートする。対象は、2002/10/01 以降に変更されたファイル。
<og:fileQuery
from = "d:/webapps/dbdef/jsp/"
multi = "true"
orderBy = "LASTMODIFIED"
desc = "true"
command = "{@command}" >
<og:fileWhere lastModified="20021001000000" />
</og:fileQuery>
- 変更履歴:
4.0.0 (2005/01/31) 内部ロジック改定 |
- 機能階層
- その他入力
- バージョン
- 4.0
- 作成者
- Kazuhiko Hasegawa
- 導入されたバージョン:
- JDK5.0,
クラス org.opengion.hayabusa.taglib.QueryTag から継承されたフィールド |
CMD_NEW, CMD_RENEW, command, displayMsg, dyStart, errCode, errMessage, errMsgId, executeCount, maxRowCount, names, outMessage, quotCheck, skipRowCount, sql, stopError, table, tableId, xssCheck |
クラス 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 |
メソッドの概要 |
int |
doAfterBody()
Taglibのタグ本体を処理する doAfterBody() を オーバーライドします。 |
protected void |
execute(java.io.File fin,
int lvl)
FileQuery を実行します。 |
protected void |
release2()
タグリブオブジェクトをリリースします。 |
void |
setAddClms(java.lang.String clms)
【TAG】検索結果のカラム列に追加するカラム名を、カンマ区切り文字で指定します。 |
void |
setDesc(java.lang.String flag)
【TAG】表示順を逆転するかどうかを指定します(初期値:false)。 |
protected void |
setFileFilter(java.io.FileFilter filter)
FileFilterオブジェクトをセットします。 |
void |
setFileType(java.lang.String str)
【TAG】ファイル名が、指定されたファイルタイプと一致した場合、スルー(選択)されます。 |
void |
setFrom(java.lang.String url)
【TAG】ファイルの検索元となるディレクトリを指定します。 |
void |
setLevel(java.lang.String lvl)
【TAG】多段階展開するレベルを指定します(初期値:100)。 |
void |
setMulti(java.lang.String mlti)
【TAG】多段階展開するか、1レベル展開するか指定します(初期値:false)。 |
void |
setOrderBy(java.lang.String clm)
【TAG】ソートするカラム名を指定します(一つのみ)。 |
void |
setUseUpdateClms(java.lang.String flag)
【TAG】TO_PARENT、TO_NAMEカラムを追加するかどうかを指定します(初期値:false)。 |
java.lang.String |
toString()
このオブジェクトの文字列表現を返します。 |
クラス org.opengion.hayabusa.taglib.QueryTag から継承されたメソッド |
doEndTag, doStartTag, execute, getRequest, setCheckNames, setCommand, setDbid, setDisplayMsg, setMainTrans, setMaxRowCount, setModifyType, setNames, setNotfoundMsg, setOutMessage, setOverflowMsg, setQueryType, setQuotCheck, setSkipRowCount, setStopError, setStopZero, setTableId, setTrace, setUseBeforeHtmlTag, setXssCheck |
クラス org.opengion.hayabusa.taglib.CommonTagSupport から継承されたメソッド |
add, add, addEventColumn, addEventColumn, check, check, commitTableObject, debugPrint, doCatch, doFinally, 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, getRequestValue, getRequestValues, getResource, getSanitizedBodyString, getScope, getSessionAttribute, getTagName, getUser, getUserInfo, isAjaxSubmitRequest, isDebug, isNoTransitionRequest, isNull, jspPrint, removeContextAttribute, removeObject, removeRequestAttribute, removeSessionAttribute, set, setAjaxSubmitRequest, setCaseKey, 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 |
FileQueryTag
public FileQueryTag()
doAfterBody
public int doAfterBody()
- Taglibのタグ本体を処理する doAfterBody() を オーバーライドします。
- 定義:
- インタフェース
javax.servlet.jsp.tagext.IterationTag
内の doAfterBody
- オーバーライド:
- クラス
QueryTag
内の doAfterBody
- 戻り値:
- int 後続処理の指示(SKIP_BODY)
- 変更履歴:
5.3.4.0 (2011/04/01) 指定カラムのソート処理機能追加 |
5.3.5.0 (2011/05/01) 最初のファイルが存在する場合のみ、実行する。 |
release2
protected void release2()
- タグリブオブジェクトをリリースします。
キャッシュされて再利用されるので、フィールドの初期設定を行います。
- オーバーライド:
- クラス
QueryTag
内の release2
- 変更履歴:
5.3.4.0 (2011/04/01) 指定カラムのソート処理機能、カラム追加機能、fileType追加 |
execute
protected void execute(java.io.File fin,
int lvl)
- FileQuery を実行します。
- パラメータ:
fin
- Filelvl
- int- 変更履歴:
5.3.4.0 (2011/04/01) fileType の条件に合致する場合だけ、データを作成する。 |
setFrom
public void setFrom(java.lang.String url)
- 【TAG】ファイルの検索元となるディレクトリを指定します。
- パラメータ:
url
- ファイルの検索元となるディレクトリ- 説明:
ファイルの検索元となるディレクトリを指定します。
- 変更履歴:
4.0.0.0 (2007/11/20) 指定されたディレクトリ名の最後が"\"or"/"で終わっていない場合に、"/"を付加する。 |
setMulti
public void setMulti(java.lang.String mlti)
- 【TAG】多段階展開するか、1レベル展開するか指定します(初期値:false)。
- パラメータ:
mlti
- 多段階展開するか(true:する/false :1レベル)- 説明:
初期値は、false (1レベル) です。
setLevel
public void setLevel(java.lang.String lvl)
- 【TAG】多段階展開するレベルを指定します(初期値:100)。
- パラメータ:
lvl
- 多段階展開するレベル- 説明:
setOrderBy
public void setOrderBy(java.lang.String clm)
- 【TAG】ソートするカラム名を指定します(一つのみ)。
- パラメータ:
clm
- ソートするカラム名(一つのみ)、逆順は、マイナスを付ける。- 関連項目:
setDesc( String )
- 説明:
ソートするカラム名を、"LEVEL","FILE_TYPE","PARENT","NAME","LASTMODIFIED","FILE_LENGTH","RWH"
から一つ選びます。
これは、複数カラムでのソートはできません。
逆順にソートする場合は、desc属性を true にセットください。
+ をつけても、無効(カラム名がないということでエラーになります。
- 変更履歴:
5.3.4.0 (2011/04/01) 新規追加 |
setDesc
public void setDesc(java.lang.String flag)
- 【TAG】表示順を逆転するかどうかを指定します(初期値:false)。
- パラメータ:
flag
- 表示順を逆転するかどうか (逆順:true/正順:false)- 関連項目:
setOrderBy( String )
- 説明:
orderBy 属性で指定した表示順を、逆順にするかどうかを指定できます。
初期値は、false (昇順) です。
- 変更履歴:
5.3.4.0 (2011/04/01) 新規追加 |
setAddClms
public void setAddClms(java.lang.String clms)
- 【TAG】検索結果のカラム列に追加するカラム名を、カンマ区切り文字で指定します。
- パラメータ:
clms
- 検索結果のカラム列に追加するカラム名を、カンマ区切り文字で指定します。- 関連項目:
setUseUpdateClms( String )
- 説明:
デフォルトのカラム名、"LEVEL","FILE_TYPE","PARENT","NAME","LASTMODIFIED","FILE_LENGTH","RWH"
以外に、指定のカラム名を追加することが可能です。
これは、ファイル検索結果以外の項目を追加して、データベースに書き込む場合に、利用できます。
並び順は、デフォルトカラムの後ろに、指定のカラムの順番で付きます。
ここで追加したカラムには、値はセットされていません。よって、ソート対象のカラムにも指定できません。
- 変更履歴:
5.3.4.0 (2011/04/01) 新規追加 |
setUseUpdateClms
public void setUseUpdateClms(java.lang.String flag)
- 【TAG】TO_PARENT、TO_NAMEカラムを追加するかどうかを指定します(初期値:false)。
- パラメータ:
flag
- TO_PARENT、TO_NAMEカラムを追加するかどうか (追加する:true/追加しない:false)- 関連項目:
setAddClms( String )
- 説明:
fileUpdateタグでは、ファイルのCOPYやMOVEが出来ますが、そのコピー先、移動先の
ファイルを行ごとに指定する場合、TO_PARENT、TO_NAMEカラムという固定名のカラムが
必要です。
これを、addClms 属性で指定する代わりに、この属性で、true をセットすることで、
自動的に追加されます。
初期値は、false (追加しない) です。
- 変更履歴:
5.3.4.0 (2011/04/01) 新規追加 |
setFileType
public void setFileType(java.lang.String str)
- 【TAG】ファイル名が、指定されたファイルタイプと一致した場合、スルー(選択)されます。
- パラメータ:
str
- 指定するファイルタイプ(DIR,FILE,null)- 説明:
大文字小文字は区別しません。
ファイルタイプ は、DIR,FILE が指定できます。
DIR は、ディレクトリのみ検索します。(階層下がりも行います)
FILEは、ファイルのみ検索します。(階層下がりも行います)
引数が null の場合は、追加しません。(つまり、すべてスルーされます。)
- 変更履歴:
5.3.4.0 (2011/04/01) fileType メソッドで選択対象指定の追加 |
setFileFilter
protected void setFileFilter(java.io.FileFilter filter)
- FileFilterオブジェクトをセットします。
これは、BODY 部に登録した、FileWhereタグによって設定された
ファイルフィルターです。
- パラメータ:
filter
- FileFilter オブジェクト
toString
public java.lang.String toString()
- このオブジェクトの文字列表現を返します。
基本的にデバッグ目的に使用します。
- オーバーライド:
- クラス
QueryTag
内の toString
- 戻り値:
- このクラスの文字列表現
Webアプリケーションフレームワーク openGion
Copyright (c) 2009 The openGion Project.