クラス FileSearchTag
java.lang.Object
jakarta.servlet.jsp.tagext.TagSupport
jakarta.servlet.jsp.tagext.BodyTagSupport
org.opengion.hayabusa.taglib.CommonTagSupport
org.opengion.hayabusa.taglib.FileSearchTag
- すべての実装されたインタフェース:
BodyTag
,IterationTag
,JspTag
,Tag
,TryCatchFinally
,Serializable
DBTableModel の [NAME(フルパス)]、または [PARENT(パス名),NAME(ファイル名)] から
ファイル内の特定の文字列を検索するタグです。
FileQueryTag と併用すると、様々な条件でファイル検索ができます。
IDXTEXT,CONTEXT のカラムが DBTableModel にセットされます。
[カラム名] 以下のカラム名で作成されます。
IDXTEXT : シート名などの位置
CONTEXT : 特定の文字列を含む部分文字列
実行後にリクエストパラメータに以下の値がセットされます。
DB.COUNT : 実行結果の件数
DB.ERR_MSG : 実行結果のエラーメッセージ
- 関連項目:
- 変更履歴:
- 8.5.4.0 (2023/12/01) 新規作成
- 機能分類
- その他入力
- 形式サンプル:
- ●形式:<og:fileSearch keyword="…" /> ●body:なし ●前提:DBTableModel に NAME のカラムが必要です。 ●Tag定義: <og:fileSearch keyword ○【TAG】検索する文字列を指定します (必須) ignoreCase 【TAG】大文字/小文字を区別しないかどうか[true/false]を指定します (初期値:false[区別する]) useNormalize 【TAG】正規化(半角全角)を変換するかどうか[true/false]を指定します (初期値:false(変換しない)) fromBase 【TAG】fromBase指定のパスを連結して絶対パスを作成します fromScope 【TAG】参照テーブルのscope[request/session/application]を指定します (初期値:session) toScope 【TAG】出力テーブルのscope[request/session/application]を指定します (初期値:session) fromTableId 【TAG】参照テーブルのtableIdを指定します (初期値:HybsSystem#TBL_MDL_KEY[=h_tblmdl]) toTableId 【TAG】出力テーブルのtableIdを指定します (初期値:HybsSystem#TBL_MDL_KEY[=h_tblmdl]) maxRowCount 【TAG】(通常は使いません)データの最大読込件数を指定します (初期値:DB_MAX_ROW_COUNT[=1000])(0:[無制限]) displayMsg 【TAG】検索結果を画面上に表示するメッセージリソースIDを指定します (初期値:VIEW_DISPLAY_MSG[=]) overflowMsg 【TAG】検索データが最大検索数をオーバーした場合に表示するメッセージリソースIDを指定します (初期値:MSG0007[検索結果が、制限行数を超えましたので、残りはカットされました]) notfoundMsg 【TAG】検索結果がゼロ件の場合に表示するメッセージリソースIDを指定します (初期値:MSG0077[対象データはありませんでした]) dispError 【TAG】エラー時にメッセージを表示するか[true/false]を設定します (初期値:true) stopZero 【TAG】検索結果が0件のとき処理を続行するかどうか[true/false]を指定します (初期値:false[続行する]) useTimeView 【TAG】処理時間を表示する TimeView を表示するかどうかを指定します (初期値:VIEW_USE_TIMEBAR[=])。 useLocal 【TAG】システム定数でクラウド設定されていても、クラウド環境を使用しない場合、trueを指定します (初期値:false) 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:fileQuery from = "d:/webapps/dbdef/jsp/" multi = "true" fileType = "FILE" /> <og:fileSearch keyword = "hoge" /> ●注意事項 ・この機能は簡易的なものなので、データベースなどに全文検索機能があれば、その機能を利用してください。 ・useNormalize="true" を指定すると、正規化変換後の文字列で表示されます。
- 導入されたバージョン:
- JDK17.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() を オーバーライドします。protected void
release2()
タグリブオブジェクトをリリースします。void
setDispError
(String flag) 【TAG】処理エラーの時にエラーを画面表示するか[true/false]を設定します(初期値:true)。void
setDisplayMsg
(String id) 【TAG】検索結果を画面上に表示するメッセージリソースIDを指定します (初期値:VIEW_DISPLAY_MSG[=])。void
setFromBase
(String base) 【TAG】PARENT列から、fromBase指定のパスを連結して絶対パスを作成します。void
setFromScope
(String scp) 【TAG】参照テーブルのスコープ[request/session/application]を指定します(初期値:session)。void
setFromTableId
(String id) 【TAG】参照テーブルのtableIdを指定します (初期値:HybsSystem#TBL_MDL_KEY[=])。void
setIgnoreCase
(String flag) 【TAG】大文字/小文字を区別しないかどうか[true/false]を指定します(初期値:false(区別する))。void
setKeyword
(String kw) 【TAG】検索する文字列を指定します。void
setMaxRowCount
(String count) 【TAG】(通常は使いません)データの最大読込件数を指定します (初期値:DB_MAX_ROW_COUNT[=])。void
setNotfoundMsg
(String id) 【TAG】検索結果がゼロ件の場合に表示するメッセージリソースIDを指定します(初期値:MSG0077[対象データはありませんでした])。void
setOverflowMsg
(String id) 【TAG】検索データが最大検索数をオーバーした場合に表示するメッセージリソースIDを指定します (初期値:MSG0007[検索結果が、制限行数を超えましたので、残りはカットされました])。void
setStopZero
(String flag) 【TAG】検索結果が0件のとき処理を停止するかどうか[true/false]を指定します(初期値:false[続行する])。void
setToScope
(String scp) 【TAG】出力テーブルのスコープ[request/session/application]を指定します(初期値:session)。void
setToTableId
(String id) 【TAG】出力テーブルのtableIdを指定します (初期値:HybsSystem#TBL_MDL_KEY[=])。void
setUseLocal
(String flag) 【TAG】システム定数でクラウド設定されていても、クラウド環境を使用しない場合、trueを指定します(初期値:false)。void
setUseNormalize
(String flag) 【TAG】正規化(半角全角)を変換するかどうか[true/false]を指定します(初期値:false(変換しない))。void
setUseTimeView
(String flag) 【TAG】処理時間を表示する TimeView を表示するかどうか[true:する/false:しない]を指定します (初期値:VIEW_USE_TIMEBAR[=])。toString()
このオブジェクトの文字列表現を返します。クラスから継承されたメソッド org.opengion.hayabusa.taglib.CommonTagSupport
add, add, addEventColumn, addEventColumn, check, commitTableObject, debugPrint, debugPrint, doAfterBody, doCatch, doFinally, doStartTag, 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
-
コンストラクタの詳細
-
FileSearchTag
public FileSearchTag()デフォルトコンストラクター
-
-
メソッドの詳細
-
doEndTag
Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。 タグ本体が空の場合は、呼ばれないので、従来の doAfterBody() 処理を、 doEndTag() に持っていきます。- 定義:
doEndTag
インタフェース内Tag
- オーバーライド:
doEndTag
クラス内CommonTagSupport
- 戻り値:
- 後続処理の指示
- 変更履歴:
- 8.5.4.2 (2024/01/12) PMD 7.0.0 LocalVariableNamingConventions 対応
-
release2
タグリブオブジェクトをリリースします。 キャッシュされて再利用されるので、フィールドの初期設定を行います。- オーバーライド:
release2
クラス内CommonTagSupport
-
setKeyword
【TAG】検索する文字列を指定します。- パラメータ:
kw
- 文字列- 説明:
- スペース連結の「AAA BBB」は、AAA とBBB のAND形式 OR文字列の連結の「CCC OR DDD」は、CCC と DDD のOR形式になります。 優先順位を付ける"(" などは使えません。常に、OR で分解後、スペース分解で、AND因子を求めます。 例) AAA BBB OR CCC ⇒「AAA BBB」OR 「CCC」 AAA OR BBB CCC ⇒「AAA」OR 「BBB CCC」
-
setIgnoreCase
【TAG】大文字/小文字を区別しないかどうか[true/false]を指定します(初期値:false(区別する))。- パラメータ:
flag
- 大文字/小文字の区別 [true:しない/false:する]- 説明:
- ture(区別しない) の場合、aaa と AAA は、一致したとみなされます。 初期値は、false(区別する)です。
-
setUseNormalize
【TAG】正規化(半角全角)を変換するかどうか[true/false]を指定します(初期値:false(変換しない))。- パラメータ:
flag
- 正規化(半角全角)を変換 [true:する/false:しない]- 説明:
- ture(変換する) の場合、ホゲ と ホゲ は、一致したとみなされます。 初期値は、false(変換しない)です。 ture を指定すると、半角カタカナ が 全角カタカナ に変換されて比較されます。 ① なども 1 として比較されます。 正規化変換後の文字数が、元と同じ場合は、元の文字列で表示されますが、 "ガ"(2文字) が "ガ"(1文字) となるように異なる場合は、正規化変換後の 文字例で表示されます。
-
setFromBase
【TAG】PARENT列から、fromBase指定のパスを連結して絶対パスを作成します。- パラメータ:
base
- PARENT列から、fromBase指定のパスを連結して絶対パスを作成- 説明:
- DBTableModel の PARENT列が相対パスの場合、fromBase指定のパスを連結して 絶対パスを作成します。
-
setFromScope
【TAG】参照テーブルのスコープ[request/session/application]を指定します(初期値:session)。- パラメータ:
scp
- スコープ [request/session/application]- 関連項目:
- 説明:
- 参照元となる DBTableModel をメモリから取り出す場合のスコープを指定します。 初期値は、session です。
-
setToScope
【TAG】出力テーブルのスコープ[request/session/application]を指定します(初期値:session)。- パラメータ:
scp
- スコープ [request/session/application]- 説明:
- 出力する DBTableModel を管理するスコープを指定します。 初期値は、session です。
-
setFromTableId
【TAG】参照テーブルのtableIdを指定します (初期値:HybsSystem#TBL_MDL_KEY[=])。- パラメータ:
id
- 参照テーブルID- 説明:
- 参照元となる DBTableModel をメモリから取り出す場合のキー(tableId)を指定します。 初期値は、HybsSystem#TBL_MDL_KEY です。
-
setToTableId
【TAG】出力テーブルのtableIdを指定します (初期値:HybsSystem#TBL_MDL_KEY[=])。- パラメータ:
id
- 出力テーブルID- 説明:
- 出力する DBTableModel を管理するキー(tableId)を指定します。 talbeIdを指定しない場合、参照元となる DBTableModel と同一メモリに配置される為、 この tableId 属性を利用して、メモリ空間を分けます。 初期値は、HybsSystem#TBL_MDL_KEY です。
-
setMaxRowCount
【TAG】(通常は使いません)データの最大読込件数を指定します (初期値:DB_MAX_ROW_COUNT[=])。- パラメータ:
count
- 最大件数- 関連項目:
- 説明:
- 参照テーブルを元に全てのファイルを検索しますが、サーバーのメモリ資源と応答時間の確保の為、 DBTableModelのデータとして登録する最大件数をこの値に設定します。 0 をセットすると、無制限(Integer.MAX_VALUE)になります。 初期値は、SystemData#DB_MAX_ROW_COUNT です。
-
setDisplayMsg
【TAG】検索結果を画面上に表示するメッセージリソースIDを指定します (初期値:VIEW_DISPLAY_MSG[=])。- パラメータ:
id
- 表示メッセージID- 関連項目:
- 説明:
- ここでは、検索結果の件数や登録された件数をまず出力し、 その次に、ここで指定したメッセージをリソースから取得して表示します。 件数を表示させる場合は、displayMsg = "MSG0033"[ 件検索しました] をセットしてください。 表示させたくない場合は、displayMsg = "" をセットしてください。 初期値は、SystemData#VIEW_DISPLAY_MSG です。
-
setOverflowMsg
【TAG】検索データが最大検索数をオーバーした場合に表示するメッセージリソースIDを指定します (初期値:MSG0007[検索結果が、制限行数を超えましたので、残りはカットされました])。- パラメータ:
id
- オーバー時メッセージID- 説明:
- 検索結果が、maxRowCount で設定された値より多い場合、何らかのデータは検索されず 切り捨てられたことになります。 ここでは、displayMsg を表示した後、必要に応じて、このメッセージを表示します。 表示させたくない場合は、overflowMsg = "" をセットしてください。 初期値は、MSG0007[検索結果が、制限行数を超えましたので、残りはカットされました]です。
-
setNotfoundMsg
【TAG】検索結果がゼロ件の場合に表示するメッセージリソースIDを指定します(初期値:MSG0077[対象データはありませんでした])。- パラメータ:
id
- ゼロ件メッセージID- 説明:
- ここでは、検索結果がゼロ件の場合のみ、特別なメッセージを表示させます。 従来は、displayMsg と兼用で、『0 件検索しました』という表示でしたが、 displayMsg の初期表示は、OFF になりましたので、ゼロ件の場合のみ別に表示させます。 表示させたくない場合は、notfoundMsg = "" をセットしてください。 初期値は、MSG0077[対象データはありませんでした]です。
-
setDispError
【TAG】処理エラーの時にエラーを画面表示するか[true/false]を設定します(初期値:true)。- パラメータ:
flag
- [true:表示する/false:表示しない]- 説明:
- false(表示しない)に設定する場合、後続処理では、{@DB.ERR_MSG}の値により、 本来表示されるはずだったメッセージを取得可能です。 初期値は、true(表示する)です。 ※false指定の場合は件数や、overFlowメッセージ等も表示されなくなります。
-
setStopZero
【TAG】検索結果が0件のとき処理を停止するかどうか[true/false]を指定します(初期値:false[続行する])。- パラメータ:
flag
- 0件時停止可否 [true:処理を中止する/false:続行する]- 説明:
- 初期値は、false(続行する)です。
-
setUseTimeView
【TAG】処理時間を表示する TimeView を表示するかどうか[true:する/false:しない]を指定します (初期値:VIEW_USE_TIMEBAR[=])。- パラメータ:
flag
- 処理時間を表示 [true:する/false:しない]- 説明:
- true に設定すると、処理時間を表示するバーイメージが表示されます。 これは、DB検索、APサーバー処理、画面表示の各処理時間をバーイメージで 表示させる機能です。処理時間の目安になります。 初期値は、SystemData#VIEW_USE_TIMEBAR です。
-
setUseLocal
【TAG】システム定数でクラウド設定されていても、クラウド環境を使用しない場合、trueを指定します(初期値:false)。- パラメータ:
flag
- ローカル環境のみ [true:ローカルのみ/false:設定どおり]- 説明:
- クラウド設定は、システム定数の『CLOUD_TARGET』と『CLOUD_BUCKET』の設定で自動的に使用しますが、 どうしてもローカルでのみ使いたい場合は、この属性を true に設定します。 標準はfalse:設定どおりとなります。 true/false以外を指定した場合はfalse扱いとします。
-
toString
このオブジェクトの文字列表現を返します。 基本的にデバッグ目的に使用します。- オーバーライド:
toString
クラス内CommonTagSupport
- 戻り値:
- このクラスの文字列表現
- このメソッドは、nullを返しません
-