クラス RegistryQueryTag
- java.lang.Object
-
- javax.servlet.jsp.tagext.TagSupport
-
- javax.servlet.jsp.tagext.BodyTagSupport
-
- org.opengion.hayabusa.taglib.CommonTagSupport
-
- org.opengion.hayabusa.taglib.RegistryQueryTag
-
- すべての実装されたインタフェース:
java.io.Serializable
,BodyTag
,IterationTag
,JspTag
,Tag
,TryCatchFinally
public class RegistryQueryTag extends CommonTagSupport
指定の 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つのルートパス以下のレジストリにアクセスできます。- 関連項目:
- 直列化された形式
- 機能分類
- その他入力
- 形式サンプル:
- ●形式:<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 属性は両方に同時に適用されます。
- 変更履歴:
- 3.1.0.0 (2003/03/20) Windowsレジストリにアクセスできる、RegistryQueryTag.java を新規に作成。
- バージョン
- 4.0
- 作成者
- Kazuhiko Hasegawa
- 導入されたバージョン:
- JDK5.0,
-
-
フィールドの概要
フィールド 修飾子とタイプ フィールド 説明 static java.lang.String
CMD_NEW
command 引数に渡す事の出来る コマンド 新規 "NEW"static java.lang.String
CMD_RENEW
command 引数に渡す事の出来る コマンド 再検索 "RENEW"-
クラスから継承されたフィールド org.opengion.hayabusa.taglib.CommonTagSupport
BR, BUFFER_MIDDLE, CR
-
クラスから継承されたフィールド 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
-
-
コンストラクタの概要
コンストラクタ コンストラクタ 説明 RegistryQueryTag()
デフォルトコンストラクター
-
メソッドの概要
すべてのメソッド インスタンス・メソッド concreteメソッド 修飾子とタイプ メソッド 説明 int
doEndTag()
Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。protected java.lang.String
getTagName()
タグの名称を、返します。protected void
release2()
タグリブオブジェクトをリリースします。void
setBaseKey(java.lang.String bkey)
【TAG】検索ベースキーを設定します(HKEY_CURRENT_USER/Software/XXX の XXX をベースとします)。void
setCommand(java.lang.String cmd)
【TAG】コマンド (NEW,RENEW)をセットします(初期値:NEW)。void
setDisplayMsg(java.lang.String id)
【TAG】検索結果を画面上に表示するメッセージIDを指定します (初期値:VIEW_DISPLAY_MSG[=])。void
setHkeyType(java.lang.String type)
【TAG】レジストリの読み込むルートを[user/system]で指定します(初期値:user)。void
setKey(java.lang.String ky)
【TAG】検索キーを設定します。void
setLike(java.lang.String lik)
【TAG】キーおよびバリューについて,like 検索を行うかどうか[true/false]を指定します(初期値:false)。void
setMainTrans(java.lang.String flag)
【TAG】(通常は使いません)タグで処理される処理がメインとなるトランザクション処理かどうかを指定します(初期値:true)。void
setMaxLevel(java.lang.String lvl)
【TAG】検索時の最大展開レベル(0は無制限)を指定します(初期値:1)。void
setMaxRowCount(java.lang.String count)
【TAG】レジストリの最大検索件数をセットします(初期値:0[無制限])。void
setNotfoundMsg(java.lang.String id)
【TAG】検索結果がゼロ件の場合に表示するメッセージリソースIDを指定します(初期値:MSG0077[対象データはありませんでした])。void
setOrderBy(java.lang.String ordr)
【TAG】検索した結果を表示する表示順をファイル属性名で指定します。void
setOverflowMsg(java.lang.String id)
【TAG】検索データが最大検索数をオーバーした場合に表示するメッセージリソースIDを指定します (初期値:MSG0007[検索結果が、制限行数を超えましたので、残りはカットされました])。void
setTableId(java.lang.String id)
【TAG】(通常は使いません)結果のDBTableModelを、sessionに登録するときのキーを指定します (初期値:HybsSystem#TBL_MDL_KEY[=])。void
setValue(java.lang.String val)
【TAG】検索バリューを設定します。java.lang.String
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, getDataCondition, getDateFormat, getDBColumn, getDBFunctionName, getDocumentLink, getGUIInfo, getGUIInfoAttri, getHostName, getLabel, getLabelInterface, getLanguage, getLASTAttri, getLongLabel, getMsg, getMsglbl, getNVLAttri, getObject, getParameterNames, getParameterRows, getRequest, getRequestAttribute, getRequestCacheData, getRequestMethod, getRequestParameter, getRequestParameterValues, getRequestValue, getRequestValue, getRequestValues, getReservedParameter, getReservedValue, getResource, getSanitizedBodyString, getScope, getSessionAttribute, getSumRequestValue, 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
-
クラスから継承されたメソッド 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
-
-
-
-
メソッドの詳細
-
doEndTag
public int 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
protected void 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
public void setTableId(java.lang.String id)
【TAG】(通常は使いません)結果のDBTableModelを、sessionに登録するときのキーを指定します (初期値:HybsSystem#TBL_MDL_KEY[=])。- パラメータ:
id
- テーブルID (sessionに登録する時のID)- 説明:
- 検索結果より、DBTableModelオブジェクトを作成します。これを、下流のviewタグ等に 渡す場合に、通常は、session を利用します。その場合の登録キーです。 query タグを同時に実行して、結果を求める場合、同一メモリに配置される為、 この tableId 属性を利用して、メモリ空間を分けます。 (初期値:HybsSystem#TBL_MDL_KEY[=])。
-
setOrderBy
public void setOrderBy(java.lang.String ordr)
【TAG】検索した結果を表示する表示順をファイル属性名で指定します。- パラメータ:
ordr
- ソートキー- 説明:
- 現仕様では、複数のキーを指定することは出来ません。
-
setCommand
public void setCommand(java.lang.String cmd)
【TAG】コマンド (NEW,RENEW)をセットします(初期値:NEW)。- パラメータ:
cmd
- コマンド (public static final 宣言されている文字列)- 関連項目:
- コマンド定数
- 説明:
- コマンドは,HTMLから(get/post)指定されますので,CMD_xxx で設定される フィールド定数値のいづれかを、指定できます。 何も設定されない、または、null の場合は、"NEW" が初期値にセットされます。
-
setBaseKey
public void setBaseKey(java.lang.String bkey)
【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
public void setKey(java.lang.String ky)
【TAG】検索キーを設定します。- パラメータ:
ky
- 検索キー- 説明:
- 検索キーを設定します。
-
setValue
public void setValue(java.lang.String val)
【TAG】検索バリューを設定します。- パラメータ:
val
- 検索バリュー- 説明:
- 検索バリューを設定します。
-
setMaxRowCount
public void setMaxRowCount(java.lang.String count)
【TAG】レジストリの最大検索件数をセットします(初期値:0[無制限])。- パラメータ:
count
- 最大件数- 説明:
- DBTableModelのデータとして登録する最大件数をこの値に設定します。 サーバーのメモリ資源と応答時間の確保の為です。 初期値は、0 は、無制限です。
-
setDisplayMsg
public void setDisplayMsg(java.lang.String id)
【TAG】検索結果を画面上に表示するメッセージIDを指定します (初期値:VIEW_DISPLAY_MSG[=])。- パラメータ:
id
- 処理結果表示メッセージID- 説明:
- ここでは、検索結果の件数や登録された件数をまず出力し、 その次に、ここで指定したメッセージをリソースから取得して 表示します。 件数を表示させる場合は、displayMsg = "MSG0033"[ 件検索しました] をセットしてください。 表示させたくない場合は, displayMsg = "" をセットしてください。 (初期値:システム定数のVIEW_DISPLAY_MSG[=])。
-
setNotfoundMsg
public void setNotfoundMsg(java.lang.String id)
【TAG】検索結果がゼロ件の場合に表示するメッセージリソースIDを指定します(初期値:MSG0077[対象データはありませんでした])。- パラメータ:
id
- ゼロ件時表示メッセージID- 説明:
- ここでは、検索結果がゼロ件の場合のみ、特別なメッセージを表示させます。 従来は、displayMsg と兼用で、『0 件検索しました』という表示でしたが、 displayMsg の初期表示は、OFF になりましたので、ゼロ件の場合のみ別に表示させます。 表示させたくない場合は, notfoundMsg = "" をセットしてください。 初期値は、MSG0077[対象データはありませんでした]です。
-
setOverflowMsg
public void setOverflowMsg(java.lang.String id)
【TAG】検索データが最大検索数をオーバーした場合に表示するメッセージリソースIDを指定します (初期値:MSG0007[検索結果が、制限行数を超えましたので、残りはカットされました])。- パラメータ:
id
- 最大検索数オーバー時メッセージID- 説明:
- 表示させたくない場合は, overflowMsg = "" をセットしてください。
-
setMaxLevel
public void setMaxLevel(java.lang.String lvl)
【TAG】検索時の最大展開レベル(0は無制限)を指定します(初期値:1)。- パラメータ:
lvl
- 検索時の最大展開レベル- 説明:
- 0を指定すると、無制限に階層を展開します。 初期値は、1レベルです。
-
setLike
public void setLike(java.lang.String lik)
【TAG】キーおよびバリューについて,like 検索を行うかどうか[true/false]を指定します(初期値:false)。- パラメータ:
lik
- 曖昧検索を行うかどうか [true:行う/false:行わない]- 説明:
- like検索とは、キーの一部の文字を含む場合にマッチしたとして、値を取り出します。 ここでの設定は、キーもバリューも同時に適用されます。また、大文字小文字の区別も行いません。
-
setHkeyType
public void setHkeyType(java.lang.String type)
【TAG】レジストリの読み込むルートを[user/system]で指定します(初期値:user)。- パラメータ:
type
- 読み込むルート [user/system]- 説明:
- HKEY_CURRENT_USER/Software/XXXX を読む場合は、"user" を、HKEY_LOCAL_MACHINE/Software/XXXX を読む場合は、"system" を指定します。それ以外の指定は、エラーにしています。 ここでの設定は、大文字小文字の区別は行いません。 初期値は、"user"(HKEY_CURRENT_USER) です。
- 変更履歴:
- 5.6.8.2 (2013/09/20) 新規追加
-
getTagName
protected java.lang.String getTagName()
タグの名称を、返します。 自分自身のクラス名より、自動的に取り出せないため、このメソッドをオーバーライドします。- オーバーライド:
getTagName
クラス内CommonTagSupport
- 戻り値:
- タグの名称
- 関連項目:
CommonTagSupport.getDocumentLink()
- 変更履歴:
- 4.0.0.0 (2005/01/31) 新規追加
- このメソッドは、nullを返しません
-
setMainTrans
public void setMainTrans(java.lang.String flag)
【TAG】(通常は使いません)タグで処理される処理がメインとなるトランザクション処理かどうかを指定します(初期値:true)。- パラメータ:
flag
- メイントランザクションかどうか [true:メイン/false:その他]- 説明:
- この値は、ファイルダウンロード処理に影響します。この値がtrueに指定された時にcommitされたDBTableModelが ファイルダウンロードの対象の表になります。 このパラメーターは、通常、各タグにより実装され、ユーザーが指定する必要はありません。 但し、1つのJSP内でDBTableModelが複数生成される場合に、前に処理したDBTableModelについてファイルダウンロードをさせたい 場合は、後ろでDBTableModelを生成するタグで、明示的にこの値をfalseに指定することで、ファイルダウンロード処理の対象から 除外することができます。
- 変更履歴:
- 5.1.6.0 (2010/05/01) 新規作成
-
toString
public java.lang.String toString()
このオブジェクトの文字列表現を返します。 基本的にデバッグ目的に使用します。- オーバーライド:
toString
クラス内CommonTagSupport
- 戻り値:
- このクラスの文字列表現
- このメソッドは、nullを返しません
-
-