クラス RegistryQueryTag
java.lang.Object
jakarta.servlet.jsp.tagext.TagSupport
jakarta.servlet.jsp.tagext.BodyTagSupport
org.opengion.hayabusa.taglib.CommonTagSupport
org.opengion.hayabusa.taglib.RegistryQueryTag
- すべての実装されたインタフェース:
BodyTag
,IterationTag
,JspTag
,Tag
,TryCatchFinally
,Serializable
指定の Windowsレジストリにアクセスするためのタグです(特殊な環境設定が必要です)。
検索した結果は、DBTableModel にセットされるため、
JDBCQuery と同様に、viewタグで表示させることが可能です。
注意1:
通常であれば、以下の2つのルートパス以下のレジストリにアクセスできます。
HKEY_CURRENT_USER/Software/JavaSoft/Prefs
HKEY_LOCAL_MACHINE/Software/JavaSoft/Prefs
注意2:
ルートパスを強制的に変更する為、java.util.prefs.WindowsPreferenceクラスを
直接書き換えた、ogPreferences.jar を用意しています。
これを、tomcat/endorsed フォルダにコピーして使います。
その場合は、
HKEY_CURRENT_USER/Software/Muratec
HKEY_LOCAL_MACHINE/Software/Muratec
以下の2つのルートパス以下のレジストリにアクセスできます。
- 関連項目:
- 変更履歴:
- 3.1.0.0 (2003/03/20) Windowsレジストリにアクセスできる、RegistryQueryTag.java を新規に作成。
- 機能分類
- その他入力
- 形式サンプル:
- ●形式:<og:regQuery baseKey="・・・" ・・・ /> ●body:なし ●Tag定義: <og:regQuery baseKey ○【TAG】検索ベースキーを設定します(HKEY_CURRENT_USER/Software/XXXX の XXXX を指定します)(必須)。 hkeyType 【TAG】HKEY_CURRENT_USER(="user") を読むか、HKEY_LOCAL_MACHINE(="system") を読むかを指定します(初期値:user)。 key 【TAG】検索キーを設定します value 【TAG】検索バリューを設定します maxRowCount 【TAG】レジストリの最大検索件数をセットします(初期値:0[無制限]) orderBy 【TAG】検索した結果を表示する表示順をファイル属性名で指定します maxLevel 【TAG】検索時の最大展開レベル(0は無制限)を指定します(初期値:1) like 【TAG】キーおよびバリューについて,like 検索を行うかどうか[true/false]を指定します(初期値:false) tableId 【TAG】(通常は使いません)結果をDBTableModelに書き込んで、sessionに登録するときのキーを指定します command 【TAG】コマンド (NEW,RENEW)をセットします(初期値:NEW) displayMsg 【TAG】検索結果を画面上に表示するメッセージIDを指定します(初期値:VIEW_DISPLAY_MSG[=]) notfoundMsg 【TAG】検索結果がゼロ件の場合に表示するメッセージリソースIDを指定します(初期値:MSG0077[対象データはありませんでした]) overflowMsg 【TAG】オーバーフロー時に画面上に表示するメッセージIDを指定します(初期値:MSG0007) scope 【TAG】キャッシュする場合のスコープ[request/page/session/application]を指定します(初期値:session) mainTrans 【TAG】(通常は使いません)タグで処理される処理がメインとなるトランザクション処理かどうかを指定します(初期値:false) debug 【TAG】デバッグ情報を出力するかどうか[true/false]を指定します(初期値:false) /> ●使用例 <og:regQuery debug="false" command = "NEW" NEW,RENEW が使用できます。 baseKey = "/" 検索時のベースとなるレジストリキー名 key = "driver" 検索したいレジストリキー名(初期値は全件) value = "Ne" 検索したいレジストリ値(初期値は全件) maxRowCount = "0" 最大検索件数(0で無制限) maxLevel = "0" 最大検索階層レベル(0で無制限) like = "true" true で曖昧検索/false は一致検索 /> like は、key / value を設定したときのみ有効です。また、key / value を両方同時に設定した場合は、 like 属性は両方に同時に適用されます。
- 導入されたバージョン:
- JDK5.0,
-
フィールドの概要
フィールド修飾子とタイプフィールド説明static final String
command 引数に渡す事の出来る コマンド 新規 "NEW"static final String
command 引数に渡す事の出来る コマンド 再検索 "RENEW"クラスから継承されたフィールド 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 String
タグの名称を、返します。protected void
release2()
タグリブオブジェクトをリリースします。void
setBaseKey
(String bkey) 【TAG】検索ベースキーを設定します(HKEY_CURRENT_USER/Software/XXX の XXX をベースとします)。void
setCommand
(String cmd) 【TAG】コマンド (NEW,RENEW)をセットします(初期値:NEW)。void
setDisplayMsg
(String id) 【TAG】検索結果を画面上に表示するメッセージIDを指定します (初期値:VIEW_DISPLAY_MSG[=])。void
setHkeyType
(String type) 【TAG】レジストリの読み込むルートを[user/system]で指定します(初期値:user)。void
【TAG】検索キーを設定します。void
【TAG】キーおよびバリューについて,like 検索を行うかどうか[true/false]を指定します(初期値:false)。void
setMainTrans
(String flag) 【TAG】(通常は使いません)タグで処理される処理がメインとなるトランザクション処理かどうかを指定します(初期値:true)。void
setMaxLevel
(String lvl) 【TAG】検索時の最大展開レベル(0は無制限)を指定します(初期値:1)。void
setMaxRowCount
(String count) 【TAG】レジストリの最大検索件数をセットします(初期値:0[無制限])。void
setNotfoundMsg
(String id) 【TAG】検索結果がゼロ件の場合に表示するメッセージリソースIDを指定します(初期値:MSG0077[対象データはありませんでした])。void
setOrderBy
(String ordr) 【TAG】検索した結果を表示する表示順をファイル属性名で指定します。void
setOverflowMsg
(String id) 【TAG】検索データが最大検索数をオーバーした場合に表示するメッセージリソースIDを指定します (初期値:MSG0007[検索結果が、制限行数を超えましたので、残りはカットされました])。void
setTableId
(String id) 【TAG】(通常は使いません)結果のDBTableModelを、sessionに登録するときのキーを指定します (初期値:HybsSystem#TBL_MDL_KEY[=])。void
【TAG】検索バリューを設定します。toString()
このオブジェクトの文字列表現を返します。クラスから継承されたメソッド org.opengion.hayabusa.taglib.CommonTagSupport
add, add, addEventColumn, addEventColumn, check, commitTableObject, 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, 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
クラスから継承されたメソッド 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
-
フィールド詳細
-
コンストラクタの詳細
-
RegistryQueryTag
public RegistryQueryTag()デフォルトコンストラクター- 変更履歴:
- 6.4.2.0 (2016/01/29) PMD refactoring. Each class should declare at least one constructor.
-
-
メソッドの詳細
-
doEndTag
Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。- 定義:
doEndTag
インタフェース内Tag
- オーバーライド:
doEndTag
クラス内CommonTagSupport
- 戻り値:
- 後続処理の指示
- 変更履歴:
- 3.1.1.2 (2003/04/04) Tomcat4.1 対応。release2() を doEndTag()で呼ぶ。, 3.6.0.8 (2004/11/19) DBTableModel をセーブする時に、トランザクションチェックを行います。, 4.0.0.0 (2007/10/18) メッセージリソース統合( getResource().getMessage ⇒ getResource().getLabel ), 5.1.6.0 (2010/05/01) DBLastSqlの処理は、DBTableModelが新規作成された処理でのみ行う。, 6.4.3.4 (2016/03/11) String配列 から、Setに置き換えます。
-
release2
タグリブオブジェクトをリリースします。 キャッシュされて再利用されるので、フィールドの初期設定を行います。- オーバーライド:
release2
クラス内CommonTagSupport
- 変更履歴:
- 2.0.0.4 (2002/09/27) カスタムタグの release() メソッドを、追加, 3.1.1.2 (2003/04/04) Tomcat4.1 対応。release2() を doEndTag()で呼ぶ。, 5.1.6.0 (2010/05/01) DBLastSqlの処理は、DBTableModelが新規作成された処理でのみ行う。, 5.6.8.2 (2013/09/20) hkeyType 追加
-
setTableId
【TAG】(通常は使いません)結果のDBTableModelを、sessionに登録するときのキーを指定します (初期値:HybsSystem#TBL_MDL_KEY[=])。- パラメータ:
id
- テーブルID (sessionに登録する時のID)- 説明:
- 検索結果より、DBTableModelオブジェクトを作成します。これを、下流のviewタグ等に 渡す場合に、通常は、session を利用します。その場合の登録キーです。 query タグを同時に実行して、結果を求める場合、同一メモリに配置される為、 この tableId 属性を利用して、メモリ空間を分けます。 (初期値:HybsSystem#TBL_MDL_KEY[=])。
-
setOrderBy
【TAG】検索した結果を表示する表示順をファイル属性名で指定します。- パラメータ:
ordr
- ソートキー- 説明:
- 現仕様では、複数のキーを指定することは出来ません。
-
setCommand
【TAG】コマンド (NEW,RENEW)をセットします(初期値:NEW)。- パラメータ:
cmd
- コマンド (public static final 宣言されている文字列)- 関連項目:
- 説明:
- コマンドは,HTMLから(get/post)指定されますので,CMD_xxx で設定される フィールド定数値のいづれかを、指定できます。 何も設定されない、または、null の場合は、"NEW" が初期値にセットされます。
-
setBaseKey
【TAG】検索ベースキーを設定します(HKEY_CURRENT_USER/Software/XXX の XXX をベースとします)。- パラメータ:
bkey
- 検索ベースキー- 説明:
- レジストリの検索で、HKEY_CURRENT_USER か、HKEY_LOCAL_MACHINE の区別を、hkeyType 属性で付ける事が できるようにしました。昔は、HKEY_CURRENT_USER/Software/ 以下の検索ができていましたが、 今現在は、できなくなっているようです。(または、使い方が間違っているか) そこで、標準(/JavaSoft/Prefs)、/Muratec、/Microsoft だけ、検索できるように、 XXXXPreferencesFactory を作成しました。 詳細は、opengionV6/src/jdk170uXX_WindowsPreference を参照願います。 これにより、従来通りの方法で(制限はかかりますが)レジストリを検索できます。 ベースキー に指定できるのは、"/Muratec" , "/Microsoft" で始まるキーだけです。 それに続く "/" で区切った階層構造も表現可能です。 標準(/JavaSoft/Prefs) は、何も指定しないことで、標準であることを示します。
-
setKey
【TAG】検索キーを設定します。- パラメータ:
ky
- 検索キー- 説明:
- 検索キーを設定します。
-
setValue
【TAG】検索バリューを設定します。- パラメータ:
val
- 検索バリュー- 説明:
- 検索バリューを設定します。
-
setMaxRowCount
【TAG】レジストリの最大検索件数をセットします(初期値:0[無制限])。- パラメータ:
count
- 最大件数- 説明:
- DBTableModelのデータとして登録する最大件数をこの値に設定します。 サーバーのメモリ資源と応答時間の確保の為です。 初期値は、0 は、無制限です。
-
setDisplayMsg
【TAG】検索結果を画面上に表示するメッセージIDを指定します (初期値:VIEW_DISPLAY_MSG[=])。- パラメータ:
id
- 処理結果表示メッセージID- 説明:
- ここでは、検索結果の件数や登録された件数をまず出力し、 その次に、ここで指定したメッセージをリソースから取得して 表示します。 件数を表示させる場合は、displayMsg = "MSG0033"[ 件検索しました] をセットしてください。 表示させたくない場合は, displayMsg = "" をセットしてください。 (初期値:システム定数のVIEW_DISPLAY_MSG[=])。
-
setNotfoundMsg
【TAG】検索結果がゼロ件の場合に表示するメッセージリソースIDを指定します(初期値:MSG0077[対象データはありませんでした])。- パラメータ:
id
- ゼロ件時表示メッセージID- 説明:
- ここでは、検索結果がゼロ件の場合のみ、特別なメッセージを表示させます。 従来は、displayMsg と兼用で、『0 件検索しました』という表示でしたが、 displayMsg の初期表示は、OFF になりましたので、ゼロ件の場合のみ別に表示させます。 表示させたくない場合は, notfoundMsg = "" をセットしてください。 初期値は、MSG0077[対象データはありませんでした]です。
-
setOverflowMsg
【TAG】検索データが最大検索数をオーバーした場合に表示するメッセージリソースIDを指定します (初期値:MSG0007[検索結果が、制限行数を超えましたので、残りはカットされました])。- パラメータ:
id
- 最大検索数オーバー時メッセージID- 説明:
- 表示させたくない場合は, overflowMsg = "" をセットしてください。
-
setMaxLevel
【TAG】検索時の最大展開レベル(0は無制限)を指定します(初期値:1)。- パラメータ:
lvl
- 検索時の最大展開レベル- 説明:
- 0を指定すると、無制限に階層を展開します。 初期値は、1レベルです。
-
setLike
【TAG】キーおよびバリューについて,like 検索を行うかどうか[true/false]を指定します(初期値:false)。- パラメータ:
lik
- 曖昧検索を行うかどうか [true:行う/false:行わない]- 説明:
- like検索とは、キーの一部の文字を含む場合にマッチしたとして、値を取り出します。 ここでの設定は、キーもバリューも同時に適用されます。また、大文字小文字の区別も行いません。
-
setHkeyType
【TAG】レジストリの読み込むルートを[user/system]で指定します(初期値:user)。- パラメータ:
type
- 読み込むルート [user/system]- 変更履歴:
- 5.6.8.2 (2013/09/20) 新規追加
- 説明:
- HKEY_CURRENT_USER/Software/XXXX を読む場合は、"user" を、HKEY_LOCAL_MACHINE/Software/XXXX を読む場合は、"system" を指定します。それ以外の指定は、エラーにしています。 ここでの設定は、大文字小文字の区別は行いません。 初期値は、"user"(HKEY_CURRENT_USER) です。
-
getTagName
タグの名称を、返します。 自分自身のクラス名より、自動的に取り出せないため、このメソッドをオーバーライドします。- オーバーライド:
getTagName
クラス内CommonTagSupport
- 戻り値:
- タグの名称
- 関連項目:
- 変更履歴:
- 4.0.0.0 (2005/01/31) 新規追加
- このメソッドは、nullを返しません
-
setMainTrans
【TAG】(通常は使いません)タグで処理される処理がメインとなるトランザクション処理かどうかを指定します(初期値:true)。- パラメータ:
flag
- メイントランザクションかどうか [true:メイン/false:その他]- 変更履歴:
- 5.1.6.0 (2010/05/01) 新規作成
- 説明:
- この値は、ファイルダウンロード処理に影響します。この値がtrueに指定された時にcommitされたDBTableModelが ファイルダウンロードの対象の表になります。 このパラメーターは、通常、各タグにより実装され、ユーザーが指定する必要はありません。 但し、1つのJSP内でDBTableModelが複数生成される場合に、前に処理したDBTableModelについてファイルダウンロードをさせたい 場合は、後ろでDBTableModelを生成するタグで、明示的にこの値をfalseに指定することで、ファイルダウンロード処理の対象から 除外することができます。
-
toString
このオブジェクトの文字列表現を返します。 基本的にデバッグ目的に使用します。- オーバーライド:
toString
クラス内CommonTagSupport
- 戻り値:
- このクラスの文字列表現
- このメソッドは、nullを返しません
-