public class LDAPQueryTag extends CommonTagSupport
LDAPの内容を検索するための、ldapQueryタグです。 検索した結果は、DBTableModel にセットされるため、 JDBCQuery と同様に、viewタグで表示させることが可能です。 下記の項目については、src/resource/システムパラメータ に、予め 設定しておくことで、タグごとに指定する必要がなくなります。 ・LDAP_INITIAL_CONTEXT_FACTORY ・LDAP_PROVIDER_URL ・LDAP_ENTRYDN ・LDAP_SEARCH_BASE ・LDAP_SEARCH_SCOPE このタグリブでは、検索のみサポートしています。
●形式:
<og:ldapQuery debug="false"
command = "NEW" NEW,RENEW が使用可能です。
initctx = "com.sun.jndi.ldap.LdapCtxFactory" 初期コンテキストファクトリ
providerURL = "ldap://ldap.opengion.org:389" サービスプロバイダの構成情報
entrydn = "cn=inquiry-sys,o=opengion,c=JP" 属性の取得元のオブジェクトの名前
password = "xxxxxx" 属性の取得元のオブジェクトのパスワード
searchbase = "soouid=employeeuser,o=opengion,c=JP" 検索するコンテキストまたはオブジェクトのベース名
filter = "(objectClass=person)" 検索に使用するフィルタ式。null は不可
attributes = "uid,cn,officeName,ou,mail,belongOUID" 属性を識別する属性 IDをCSV形式で指定
searchScope = "SUBTREE" 検索範囲を設定(『OBJECT』『ONELEVEL』『SUBTREE』のどれか)
maxRowCount = "0" 検索時の最大検索数(0は、無制限:デフォルト)
/>
●body:なし
●Tag定義:
<og:ldapQuery
initctx 【TAG】初期コンテキストファクトリを指定します (初期値:LDAP_INITIAL_CONTEXT_FACTORY[=com.sun.jndi.ldap.LdapCtxFactory])
providerURL 【TAG】サービスプロバイダの構成情報を指定します (初期値:LDAP_PROVIDER_URL[=ldap://ldap.opengion.org:389])
entrydn 【TAG】属性の取得元のオブジェクトの名前を設定します (初期値:LDAP_ENTRYDN[=cn=inquiry-sys,o=opengion,c=JP])
password 【TAG】属性の取得元のオブジェクトのパスワードを設定します (初期値:LDAP_PASSWORD[=password])
searchbase 【TAG】検索するコンテキストまたはオブジェクトの名前を設定します (初期値:LDAP_SEARCH_BASE[=soouid=employeeuser,o=opengion,c=JP])
filter ○【TAG】検索に使用するフィルタ式(例:belongOUID=61200)(必須)。
searchScope 【TAG】検索範囲(OBJECT/ONELEVEL/SUBTREE)を設定します (初期値:LDAP_SEARCH_SCOPE[=SUBTREE])
timeLimit 【TAG】これらの SearchControls の時間制限をミリ秒単位で設定します(初期値:0[無制限])
derefLinkFlag 【TAG】検索中のリンクへの間接参照を有効または無効[true/false]にします(初期値:false)
maxRowCount 【TAG】レジストリの最大検索件数をセットします(初期値:0[無制限])
returningObjFlag 【TAG】結果の一部としてオブジェクトを返すことを有効または無効[true/false]にします(初期値:false)
attributes 【TAG】検索の一部として返される属性をCSVで複数指定します
columns 【TAG】作成する DBTableModel のカラム名をCSV形式で指定します
orderBy 【TAG】検索した結果を表示する表示順をファイル属性名で指定します
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)
/>
●使用例
システムパラメータ に、必要なLDAP定数を定義しておいた場合は、下記のタグで検索できます。
例では、filter にあいまい検索(*)とAND条件(&(条件A)(条件B)) を指定した例を挙げておきます。
filter の形式と解釈は、RFC 2254 に準拠しています。
(RFC 2254 で定義されている演算子のすべてをすべての属性に適用できるわけではありません。)
<og:ldapQuery debug="false"
command = "NEW"
filter = "(&(cnphoneticlangjp=OPENGION*)(businessName=*COMMON*))"
attributes = "uid,cn,officeName,ou,mail,belongOUID"
/>
・queryOption タグの内部に記述すれば、プルダウンメニューを作成することが可能です。
<og:select name="UID">
<og:queryOption>
<og:ldapQuery
filter = "(&(|(belongOUID=60000)(belongOUID=70000))(uid=C*))"
attributes = "uid,uid,sn"
orderBy = "uid"
/>
</og:queryOption>
</og:select>| 修飾子とタイプ | フィールドと説明 |
|---|---|
static java.lang.String |
CMD_NEW
command 引数に渡す事の出来る コマンド 新規 "NEW"
|
static java.lang.String |
CMD_RENEW
command 引数に渡す事の出来る コマンド 再検索 "RENEW"
|
BR, BUFFER_MIDDLE, CRbodyContentid, pageContextEVAL_BODY_BUFFERED, EVAL_BODY_TAGEVAL_BODY_AGAINEVAL_BODY_INCLUDE, EVAL_PAGE, SKIP_BODY, SKIP_PAGE| コンストラクタと説明 |
|---|
LDAPQueryTag()
デフォルトコンストラクター
|
| 修飾子とタイプ | メソッドと説明 |
|---|---|
int |
doEndTag()
Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。
|
protected void |
release2()
タグリブオブジェクトをリリースします。
|
void |
setAttributes(java.lang.String val)
【TAG】検索の一部として返される属性をCSVで複数指定します。
|
void |
setColumns(java.lang.String clm)
【TAG】作成する DBTableModel のカラム名をCSV形式で指定します。
|
void |
setCommand(java.lang.String cmd)
【TAG】コマンド (NEW,RENEW)をセットします(初期値:NEW)。
|
void |
setDerefLinkFlag(java.lang.String deref)
【TAG】検索中のリンクへの間接参照を有効または無効[true/false]にします(初期値:false)。
|
void |
setDisplayMsg(java.lang.String id)
【TAG】検索結果を画面上に表示するメッセージリソースIDを指定します
(初期値:VIEW_DISPLAY_MSG[=])。
|
void |
setEntrydn(java.lang.String dn)
【TAG】属性の取得元のオブジェクトの名前を設定します
(初期値:LDAP_ENTRYDN[=])。
|
void |
setFilter(java.lang.String siki)
【TAG】検索に使用するフィルタ式(例:belongOUID=61200)。
|
void |
setInitctx(java.lang.String ctx)
【TAG】初期コンテキストファクトリを指定します
(初期値:LDAP_INITIAL_CONTEXT_FACTORY[=])。
|
void |
setMainTrans(java.lang.String flag)
【TAG】(通常は使いません)タグで処理される処理がメインとなるトランザクション処理かどうかを指定します(初期値:false)。
|
void |
setMaxRowCount(java.lang.String count)
【TAG】LDAPデータの最大検索件数をセットします(初期値: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 |
setPassword(java.lang.String pwd)
【TAG】属性の取得元のオブジェクトのパスワードを設定します
(初期値:LDAP_PASSWORD[=])。
|
void |
setProviderURL(java.lang.String url)
【TAG】サービスプロバイダの構成情報を指定します
(初期値:LDAP_PROVIDER_URL[=])。
|
void |
setReturningObjFlag(java.lang.String pbjflag)
【TAG】結果の一部としてオブジェクトを返す[true:有効/false:無効]かどうか設定します(初期値:false)。
|
void |
setSearchbase(java.lang.String base)
【TAG】検索するコンテキストまたはオブジェクトの名前を設定します
(初期値:LDAP_SEARCH_BASE[=])。
|
void |
setSearchScope(java.lang.String scope)
【TAG】検索範囲(OBJECT/ONELEVEL/SUBTREE)を設定します
(初期値:LDAP_SEARCH_SCOPE[=])。
|
void |
setTableId(java.lang.String id)
【TAG】(通常は使いません)結果のDBTableModelを、sessionに登録するときのキーを指定します
(初期値:HybsSystem#TBL_MDL_KEY[=])。
|
void |
setTimeLimit(java.lang.String limit)
【TAG】これらの SearchControls の時間制限をミリ秒単位で設定します(初期値:0[無制限])。
|
java.lang.String |
toString()
このオブジェクトの文字列表現を返します。
|
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, 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, useTag, useXssCheckdoInitBody, getBodyContent, getPreviousOut, release, setBodyContentfindAncestorWithClass, getId, getParent, getValue, getValues, removeValue, setId, setPageContext, setParent, setValueclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitgetParent, setPageContext, setParentpublic static final java.lang.String CMD_NEW
public static final java.lang.String CMD_RENEW
public LDAPQueryTag()
public int doEndTag()
doEndTag インタフェース内 TagdoEndTag クラス内 CommonTagSupportprotected void release2()
release2 クラス内 CommonTagSupportpublic void setSearchScope(java.lang.String scope)
scope - SearchControlsの検索範囲 [OBJECT/ONELEVEL/SUBTREE]SystemData.LDAP_SEARCH_SCOPEpublic void setTimeLimit(java.lang.String limit)
limit - ミリ秒単位の時間制限(初期値:無制限)public void setDerefLinkFlag(java.lang.String deref)
deref - 間接参照 [true:有効/false:無効]public void setReturningObjFlag(java.lang.String pbjflag)
pbjflag - オブジェクト返し [true:有効/false:無効]public void setMaxRowCount(java.lang.String count)
count - 最大件数public void setAttributes(java.lang.String val)
val - 返される属性を識別する属性ID(CSV形式)public void setColumns(java.lang.String clm)
clm - カラム名(CSV形式)public void setInitctx(java.lang.String ctx)
ctx - 初期コンテキストファクトリSystemData.LDAP_INITIAL_CONTEXT_FACTORYpublic void setProviderURL(java.lang.String url)
url - サービスプロバイダの構成情報SystemData.LDAP_PROVIDER_URLpublic void setSearchbase(java.lang.String base)
base - 検索ベースSystemData.LDAP_SEARCH_BASEpublic void setFilter(java.lang.String siki)
siki - フィルタ式public void setEntrydn(java.lang.String dn)
dn - 取得元のオブジェクトの名前SystemData.LDAP_ENTRYDNpublic void setPassword(java.lang.String pwd)
pwd - パスワードSystemData.LDAP_PASSWORDpublic void setTableId(java.lang.String id)
id - テーブルID (sessionに登録する時のID)public void setOrderBy(java.lang.String ordr)
ordr - ソートキーpublic void setCommand(java.lang.String cmd)
cmd - コマンド (public static final 宣言されている文字列)public void setDisplayMsg(java.lang.String id)
id - 処理結果表示メッセージIDpublic void setNotfoundMsg(java.lang.String id)
id - ゼロ件時表示メッセージIDpublic void setOverflowMsg(java.lang.String id)
id - 最大検索数オーバー時メッセージIDpublic void setMainTrans(java.lang.String flag)
flag - メイントランザクションかどうか [true:メイン/false:その他]public java.lang.String toString()
toString クラス内 CommonTagSupportWebアプリケーションフレームワーク openGionCopyright (c) 2009 The openGion Project.