クラス FileSearchTag

すべての実装されたインタフェース:
BodyTag, IterationTag, JspTag, Tag, TryCatchFinally, Serializable

public class FileSearchTag extends CommonTagSupport
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,
  • コンストラクタの詳細

    • FileSearchTag

      public FileSearchTag()
      デフォルトコンストラクター
  • メソッドの詳細

    • doEndTag

      public int doEndTag()
      Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。 タグ本体が空の場合は、呼ばれないので、従来の doAfterBody() 処理を、 doEndTag() に持っていきます。
      定義:
      doEndTag インタフェース内 Tag
      オーバーライド:
      doEndTag クラス内 CommonTagSupport
      戻り値:
      後続処理の指示
      変更履歴:
      8.5.4.2 (2024/01/12) PMD 7.0.0 LocalVariableNamingConventions 対応
    • release2

      protected void release2()
      タグリブオブジェクトをリリースします。 キャッシュされて再利用されるので、フィールドの初期設定を行います。
      オーバーライド:
      release2 クラス内 CommonTagSupport
    • setKeyword

      public void setKeyword(String kw)
      【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

      public void setIgnoreCase(String flag)
      【TAG】大文字/小文字を区別しないかどうか[true/false]を指定します(初期値:false(区別する))。
      パラメータ:
      flag - 大文字/小文字の区別 [true:しない/false:する]
      説明:
      ture(区別しない) の場合、aaa と AAA は、一致したとみなされます。 初期値は、false(区別する)です。
    • setUseNormalize

      public void setUseNormalize(String flag)
      【TAG】正規化(半角全角)を変換するかどうか[true/false]を指定します(初期値:false(変換しない))。
      パラメータ:
      flag - 正規化(半角全角)を変換 [true:する/false:しない]
      説明:
      ture(変換する) の場合、ホゲ と ホゲ は、一致したとみなされます。 初期値は、false(変換しない)です。 ture を指定すると、半角カタカナ が 全角カタカナ に変換されて比較されます。 ① なども 1 として比較されます。 正規化変換後の文字数が、元と同じ場合は、元の文字列で表示されますが、 "ガ"(2文字) が "ガ"(1文字) となるように異なる場合は、正規化変換後の 文字例で表示されます。
    • setFromBase

      public void setFromBase(String base)
      【TAG】PARENT列から、fromBase指定のパスを連結して絶対パスを作成します。
      パラメータ:
      base - PARENT列から、fromBase指定のパスを連結して絶対パスを作成
      説明:
      DBTableModel の PARENT列が相対パスの場合、fromBase指定のパスを連結して 絶対パスを作成します。
    • setFromScope

      public void setFromScope(String scp)
      【TAG】参照テーブルのスコープ[request/session/application]を指定します(初期値:session)。
      パラメータ:
      scp - スコープ [request/session/application]
      関連項目:
      説明:
      参照元となる DBTableModel をメモリから取り出す場合のスコープを指定します。 初期値は、session です。
    • setToScope

      public void setToScope(String scp)
      【TAG】出力テーブルのスコープ[request/session/application]を指定します(初期値:session)。
      パラメータ:
      scp - スコープ [request/session/application]
      説明:
      出力する DBTableModel を管理するスコープを指定します。 初期値は、session です。
    • setFromTableId

      public void setFromTableId(String id)
      【TAG】参照テーブルのtableIdを指定します (初期値:HybsSystem#TBL_MDL_KEY[=])。
      パラメータ:
      id - 参照テーブルID
      説明:
      参照元となる DBTableModel をメモリから取り出す場合のキー(tableId)を指定します。 初期値は、HybsSystem#TBL_MDL_KEY です。
    • setToTableId

      public void setToTableId(String id)
      【TAG】出力テーブルのtableIdを指定します (初期値:HybsSystem#TBL_MDL_KEY[=])。
      パラメータ:
      id - 出力テーブルID
      説明:
      出力する DBTableModel を管理するキー(tableId)を指定します。 talbeIdを指定しない場合、参照元となる DBTableModel と同一メモリに配置される為、 この tableId 属性を利用して、メモリ空間を分けます。 初期値は、HybsSystem#TBL_MDL_KEY です。
    • setMaxRowCount

      public void setMaxRowCount(String count)
      【TAG】(通常は使いません)データの最大読込件数を指定します (初期値:DB_MAX_ROW_COUNT[=])。
      パラメータ:
      count - 最大件数
      関連項目:
      説明:
      参照テーブルを元に全てのファイルを検索しますが、サーバーのメモリ資源と応答時間の確保の為、 DBTableModelのデータとして登録する最大件数をこの値に設定します。 0 をセットすると、無制限(Integer.MAX_VALUE)になります。 初期値は、SystemData#DB_MAX_ROW_COUNT です。
    • setDisplayMsg

      public void setDisplayMsg(String id)
      【TAG】検索結果を画面上に表示するメッセージリソースIDを指定します (初期値:VIEW_DISPLAY_MSG[=])。
      パラメータ:
      id - 表示メッセージID
      関連項目:
      説明:
      ここでは、検索結果の件数や登録された件数をまず出力し、 その次に、ここで指定したメッセージをリソースから取得して表示します。 件数を表示させる場合は、displayMsg = "MSG0033"[ 件検索しました] をセットしてください。 表示させたくない場合は、displayMsg = "" をセットしてください。 初期値は、SystemData#VIEW_DISPLAY_MSG です。
    • setOverflowMsg

      public void setOverflowMsg(String id)
      【TAG】検索データが最大検索数をオーバーした場合に表示するメッセージリソースIDを指定します (初期値:MSG0007[検索結果が、制限行数を超えましたので、残りはカットされました])。
      パラメータ:
      id - オーバー時メッセージID
      説明:
      検索結果が、maxRowCount で設定された値より多い場合、何らかのデータは検索されず 切り捨てられたことになります。 ここでは、displayMsg を表示した後、必要に応じて、このメッセージを表示します。 表示させたくない場合は、overflowMsg = "" をセットしてください。 初期値は、MSG0007[検索結果が、制限行数を超えましたので、残りはカットされました]です。
    • setNotfoundMsg

      public void setNotfoundMsg(String id)
      【TAG】検索結果がゼロ件の場合に表示するメッセージリソースIDを指定します(初期値:MSG0077[対象データはありませんでした])。
      パラメータ:
      id - ゼロ件メッセージID
      説明:
      ここでは、検索結果がゼロ件の場合のみ、特別なメッセージを表示させます。 従来は、displayMsg と兼用で、『0 件検索しました』という表示でしたが、 displayMsg の初期表示は、OFF になりましたので、ゼロ件の場合のみ別に表示させます。 表示させたくない場合は、notfoundMsg = "" をセットしてください。 初期値は、MSG0077[対象データはありませんでした]です。
    • setDispError

      public void setDispError(String flag)
      【TAG】処理エラーの時にエラーを画面表示するか[true/false]を設定します(初期値:true)。
      パラメータ:
      flag - [true:表示する/false:表示しない]
      説明:
      false(表示しない)に設定する場合、後続処理では、{@DB.ERR_MSG}の値により、 本来表示されるはずだったメッセージを取得可能です。 初期値は、true(表示する)です。 ※false指定の場合は件数や、overFlowメッセージ等も表示されなくなります。
    • setStopZero

      public void setStopZero(String flag)
      【TAG】検索結果が0件のとき処理を停止するかどうか[true/false]を指定します(初期値:false[続行する])。
      パラメータ:
      flag - 0件時停止可否 [true:処理を中止する/false:続行する]
      説明:
      初期値は、false(続行する)です。
    • setUseTimeView

      public void setUseTimeView(String flag)
      【TAG】処理時間を表示する TimeView を表示するかどうか[true:する/false:しない]を指定します (初期値:VIEW_USE_TIMEBAR[=])。
      パラメータ:
      flag - 処理時間を表示 [true:する/false:しない]
      説明:
      true に設定すると、処理時間を表示するバーイメージが表示されます。 これは、DB検索、APサーバー処理、画面表示の各処理時間をバーイメージで 表示させる機能です。処理時間の目安になります。 初期値は、SystemData#VIEW_USE_TIMEBAR です。
    • setUseLocal

      public void setUseLocal(String flag)
      【TAG】システム定数でクラウド設定されていても、クラウド環境を使用しない場合、trueを指定します(初期値:false)。
      パラメータ:
      flag - ローカル環境のみ [true:ローカルのみ/false:設定どおり]
      説明:
      クラウド設定は、システム定数の『CLOUD_TARGET』と『CLOUD_BUCKET』の設定で自動的に使用しますが、 どうしてもローカルでのみ使いたい場合は、この属性を true に設定します。 標準はfalse:設定どおりとなります。 true/false以外を指定した場合はfalse扱いとします。
    • toString

      public String toString()
      このオブジェクトの文字列表現を返します。 基本的にデバッグ目的に使用します。
      オーバーライド:
      toString クラス内 CommonTagSupport
      戻り値:
      このクラスの文字列表現
      このメソッドは、nullを返しません