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>
3.1.0.0 (2003/03/20) LDAPにアクセスできる、LDAPQueryTag.java を新規に作成。 |
修飾子とタイプ | フィールドと説明 |
---|---|
static java.lang.String |
CMD_NEW
command 引数に渡す事の出来る コマンド 新規 "NEW"
|
static java.lang.String |
CMD_RENEW
command 引数に渡す事の出来る コマンド 再検索 "RENEW"
|
BR, BUFFER_MIDDLE, CR
コンストラクタと説明 |
---|
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[=cn=inquiry-sys,o=opengion,c=JP])。
|
void |
setFilter(java.lang.String siki)
【TAG】検索に使用するフィルタ式(例:belongOUID=61200)。
|
void |
setInitctx(java.lang.String ctx)
【TAG】初期コンテキストファクトリを指定します
(初期値:LDAP_INITIAL_CONTEXT_FACTORY[=com.sun.jndi.ldap.LdapCtxFactory])。
|
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[=password])。
|
void |
setProviderURL(java.lang.String url)
【TAG】サービスプロバイダの構成情報を指定します
(初期値:LDAP_PROVIDER_URL[=ldap://ldap.opengion.org:389])。
|
void |
setReturningObjFlag(java.lang.String pbjflag)
【TAG】結果の一部としてオブジェクトを返す[true:有効/false:無効]かどうか設定します(初期値:false)。
|
void |
setSearchbase(java.lang.String base)
【TAG】検索するコンテキストまたはオブジェクトの名前を設定します
(初期値:LDAP_SEARCH_BASE[=soouid=employeeuser,o=opengion,c=JP])。
|
void |
setSearchScope(java.lang.String scope)
【TAG】検索範囲(OBJECT/ONELEVEL/SUBTREE)を設定します
(初期値:LDAP_SEARCH_SCOPE[=SUBTREE])。
|
void |
setTableId(java.lang.String id)
【TAG】(通常は使いません)結果のDBTableModelを、sessionに登録するときのキーを指定します
(初期値:HybsSystem#TBL_MDL_KEY[=h_tblmdl])。
|
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, useXssCheck
doInitBody, getBodyContent, getPreviousOut, release, setBodyContent
findAncestorWithClass, getId, getParent, getValue, getValues, removeValue, setId, setPageContext, setParent, setValue
public static final java.lang.String CMD_NEW
public static final java.lang.String CMD_RENEW
public LDAPQueryTag()
6.4.2.0 (2016/01/29) PMD refactoring. Each class should declare at least one constructor. |
public int doEndTag()
doEndTag
インタフェース内 javax.servlet.jsp.tagext.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 ) |
4.3.1.1 (2008/09/03) 検索結果の件数、状況コードをリクエスト変数 "DB.COUNT"、"DB.ERR_CODE" にセットする。 |
5.1.6.0 (2010/05/01) DBLastSqlの処理は、DBTableModelが新規作成された処理でのみ行う。 |
6.4.3.4 (2016/03/11) String配列 から、Setに置き換えます。 |
protected void release2()
release2
クラス内 CommonTagSupport
2.0.0.4 (2002/09/27) カスタムタグの release() メソッドを、追加 |
3.1.1.2 (2003/04/04) Tomcat4.1 対応。release2() を doEndTag()で呼ぶ。 |
4.2.2.0 (2008/05/10) password 追加 |
5.1.6.0 (2010/05/01) DBLastSqlの処理は、DBTableModelが新規作成された処理でのみ行う。 |
public void setSearchScope(java.lang.String scope)
scope
- SearchControlsの検索範囲 [OBJECT/ONELEVEL/SUBTREE]SystemData.LDAP_SEARCH_SCOPE
検索範囲を OBJECT_SCOPE、ONELEVEL_SCOPE、SUBTREE_SCOPE のどれか 1 つです。 指定文字列は、それぞれ『OBJECT』『ONELEVEL』『SUBTREE』です。 (初期値:システム定数のLDAP_SEARCH_SCOPE[=SUBTREE])。
public void setTimeLimit(java.lang.String limit)
limit
- ミリ秒単位の時間制限(初期値:無制限)値が 0 の場合、無制限に待つことを意味します。
public void setDerefLinkFlag(java.lang.String deref)
deref
- 間接参照 [true:有効/false:無効]検索中のリンクへの間接参照を有効または無効にします。 true:有効で、リンクを間接参照可能になります。 初期値は、false:無効です。
public void setReturningObjFlag(java.lang.String pbjflag)
pbjflag
- オブジェクト返し [true:有効/false:無効]true:有効にした場合、オブジェクトが返されます。 false:無効にした場合、オブジェクトの名前およびクラスだけが返されます。 初期値は、false:無効 です。
public void setMaxRowCount(java.lang.String count)
count
- 最大件数DBTableModelのデータとして登録する最大検索件数をこの値に設定します。 サーバーのメモリ資源と応答時間の確保の為です。 初期値は、0 は、無制限です。
public void setAttributes(java.lang.String val)
val
- 返される属性を識別する属性ID(CSV形式)null は属性が何も返されないことを示します。 このメソッドからは、空の配列をセットすることは出来ません。
3.5.6.2 (2004/07/05) 先に配列に分解してからリクエスト変数の値を取得 |
3.7.0.4 (2005/03/18) リクエスト変数の値を取得後、分解します。 |
public void setColumns(java.lang.String clm)
clm
- カラム名(CSV形式)なにも指定しない場合は、attributes 属性が使用されます。 LDAP検索結果に、別名をつけるイメージで使用します。
3.7.1.0 (2005/04/26) 新規追加 |
public void setInitctx(java.lang.String ctx)
ctx
- 初期コンテキストファクトリSystemData.LDAP_INITIAL_CONTEXT_FACTORY
例)com.sun.jndi.ldap.LdapCtxFactory (初期値:システム定数のLDAP_INITIAL_CONTEXT_FACTORY[=com.sun.jndi.ldap.LdapCtxFactory])。
public void setProviderURL(java.lang.String url)
url
- サービスプロバイダの構成情報SystemData.LDAP_PROVIDER_URL
プロトコルとサーバーとポートを指定します。 例)『ldap://ldap.opengion.org:389』 (初期値:システム定数のLDAP_PROVIDER_URL[=ldap://ldap.opengion.org:389])。
public void setSearchbase(java.lang.String base)
base
- 検索ベースSystemData.LDAP_SEARCH_BASE
例)『soOUID=employeeuser,o=opengion,c=JP』 (初期値:システム定数のLDAP_SEARCH_BASE[=soouid=employeeuser,o=opengion,c=JP])。
public void setFilter(java.lang.String siki)
siki
- フィルタ式例)『belongOUID=61200』
public void setEntrydn(java.lang.String dn)
dn
- 取得元のオブジェクトの名前SystemData.LDAP_ENTRYDN
例)『soOUID=opengion-sys,o=opengion,c=JP』 (初期値:システム定数のLDAP_ENTRYDN[=cn=inquiry-sys,o=opengion,c=JP])。
4.2.2.0 (2008/05/10) 初期値変更 |
public void setPassword(java.lang.String pwd)
pwd
- パスワードSystemData.LDAP_PASSWORD
(初期値:システム定数のLDAP_PASSWORD[=password])。
4.2.2.0 (2008/05/10) 新規追加 |
public void setTableId(java.lang.String id)
id
- テーブルID (sessionに登録する時のID)検索結果より、DBTableModelオブジェクトを作成します。これを、下流のviewタグ等に 渡す場合に、通常は、session を利用します。その場合の登録キーです。 query タグを同時に実行して、結果を求める場合、同一メモリに配置される為、 この tableId 属性を利用して、メモリ空間を分けます。 (初期値:HybsSystem#TBL_MDL_KEY[=h_tblmdl])。
public void setOrderBy(java.lang.String ordr)
ordr
- ソートキーattributes 属性で指定するキー、または、LDAPから返されたキーについて その属性でソートします。逆順を行う場合は、DESC を指定のカラム名の後ろに 付けて下さい。
public void setCommand(java.lang.String cmd)
cmd
- コマンド (public static final 宣言されている文字列)コマンドは,HTMLから(get/post)指定されますので,CMD_xxx で設定される フィールド定数値のいづれかを、指定できます。 何も設定されない、または、null の場合は、"NEW" が初期値にセットされます。
public void setDisplayMsg(java.lang.String id)
id
- 処理結果表示メッセージIDここでは、検索結果の件数や登録された件数をまず出力し、 その次に、ここで指定したメッセージをリソースから取得して 表示します。 件数を表示させる場合は、displayMsg = "MSG0033"[ 件検索しました] をセットしてください。 表示させたくない場合は, displayMsg = "" をセットしてください。 (初期値:システム定数のVIEW_DISPLAY_MSG[=])。
public void setNotfoundMsg(java.lang.String id)
id
- ゼロ件時表示メッセージIDここでは、検索結果がゼロ件の場合のみ、特別なメッセージを表示させます。 従来は、displayMsg と兼用で、『0 件検索しました』という表示でしたが、 displayMsg の初期表示は、OFF になりましたので、ゼロ件の場合のみ別に表示させます。 表示させたくない場合は, notfoundMsg = "" をセットしてください。 初期値は、MSG0077[対象データはありませんでした]です。
public void setOverflowMsg(java.lang.String id)
id
- 最大検索数オーバー時メッセージID表示させたくない場合は, overflowMsg = "" をセットしてください。
public void setMainTrans(java.lang.String flag)
flag
- メイントランザクションかどうか [true:メイン/false:その他]この値は、ファイルダウンロード処理に影響します。この値がtrueに指定された時にcommitされたDBTableModelが ファイルダウンロードの対象の表になります。 このパラメーターは、通常、各タグにより実装され、ユーザーが指定する必要はありません。 但し、1つのJSP内でDBTableModelが複数生成される場合に、前に処理したDBTableModelについてファイルダウンロードをさせたい 場合は、後ろでDBTableModelを生成するタグで、明示的にこの値をfalseに指定することで、ファイルダウンロード処理の対象から 除外することができます。
5.1.6.0 (2010/05/01) 新規作成 |
public java.lang.String toString()
toString
クラス内 CommonTagSupport
Webアプリケーションフレームワーク openGionCopyright (c) 2009 The openGion Project.