public class LDAPQueryTag extends CommonTagSupport
●形式: <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をカンマ区切りで指定 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を指定します(初期値は検索件数) notfoundMsg 【TAG】検索結果がゼロ件の場合に表示するメッセージリソースIDを指定します(初期値:MSG0077[対象データはありませんでした]) overflowMsg 【TAG】オーバーフロー時に画面上に表示するメッセージIDを指定します(初期値:MSG0007) scope 【TAG】キャッシュする場合のスコープ[request/page/session/applicaton]を指定します(初期値: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 String |
CMD_NEW
command 引数に渡す事の出来る コマンド 新規 "NEW"
|
static String |
CMD_RENEW
command 引数に渡す事の出来る コマンド 再検索 "RENEW"
|
bodyContent
id, pageContext
EVAL_BODY_BUFFERED, EVAL_BODY_TAG
EVAL_BODY_AGAIN
EVAL_BODY_INCLUDE, EVAL_PAGE, SKIP_BODY, SKIP_PAGE
コンストラクタと説明 |
---|
LDAPQueryTag() |
修飾子とタイプ | メソッドと説明 |
---|---|
int |
doEndTag()
Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。
|
protected void |
release2()
タグリブオブジェクトをリリースします。
|
void |
setAttributes(String val)
【TAG】検索の一部として返される属性をCSVで複数指定します。
|
void |
setColumns(String clm)
【TAG】作成する DBTableModel のカラム名をCSV形式で指定します。
|
void |
setCommand(String cmd)
【TAG】コマンド(NEW,RENEW)をセットします(初期値:NEW)。
|
void |
setDerefLinkFlag(String deref)
【TAG】検索中のリンクへの間接参照を有効または無効[true/false]にします(初期値:false)。
|
void |
setDisplayMsg(String id)
【TAG】検索結果を画面上に表示するメッセージリソースIDを指定します(初期値は検索件数)。
|
void |
setEntrydn(String dn)
【TAG】属性の取得元のオブジェクトの名前を設定します
(初期値:LDAP_ENTRYDN[=cn=inquiry-sys,o=opengion,c=JP])。
|
void |
setFilter(String siki)
【TAG】検索に使用するフィルタ式(例:belongOUID=61200)。
|
void |
setInitctx(String ctx)
【TAG】初期コンテキストファクトリを指定します
(初期値:LDAP_INITIAL_CONTEXT_FACTORY[=com.sun.jndi.ldap.LdapCtxFactory])。
|
void |
setMainTrans(String flag)
【TAG】(通常使いません)タグで処理される処理がメインとなるトランザクション処理かどうかを指定します(初期値:false)。
|
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 |
setPassword(String pwd)
【TAG】属性の取得元のオブジェクトのパスワードを設定します
(初期値:LDAP_PASSWORD[=password])。
|
void |
setProviderURL(String url)
【TAG】サービスプロバイダの構成情報を指定します
(初期値:LDAP_PROVIDER_URL[=ldap://ldap.opengion.org:389])。
|
void |
setReturningObjFlag(String pbjflag)
【TAG】結果の一部としてオブジェクトを返すことを有効または無効[true/false]にします(初期値:false)。
|
void |
setSearchbase(String base)
【TAG】検索するコンテキストまたはオブジェクトの名前を設定します
(初期値:LDAP_SEARCH_BASE[=soouid=employeeuser,o=opengion,c=JP])。
|
void |
setSearchScope(String scope)
【TAG】検索範囲(OBJECT/ONELEVEL/SUBTREE)を設定します
(初期値:LDAP_SEARCH_SCOPE[=SUBTREE])。
|
void |
setTableId(String id)
【TAG】(通常は使いません)結果のDBTableModelを、sessionに登録するときのキーを指定します
(初期値:HybsSystem#TBL_MDL_KEY[=h_tblmdl])。
|
void |
setTimeLimit(String limit)
【TAG】これらの SearchControls の時間制限をミリ秒単位で設定します(初期値:0[無制限])。
|
String |
toString()
このオブジェクトの文字列表現を返します。
|
add, add, addEventColumn, addEventColumn, check, check, commitTableObject, debugPrint, doAfterBody, doCatch, doFinally, doStartTag, get, getApplicationInfo, getAttributes, getBodyRawString, getBodyString, getContextAttribute, getContextPath, getCookie, getCSVParameter, getDataCondition, getDateFormat, getDBColumn, getDBFunctionName, getDocumentLink, getGUIInfo, getGUIInfoAttri, getHostName, getLabel, getLabelInterface, getLanguage, getLASTAttri, getLongLabel, getMsglbl, getNVLAttri, getObject, getParameterNames, getParameterRows, getRequest, getRequestAttribute, getRequestCacheData, getRequestMethod, getRequestParameter, getRequestParameterValues, getRequestValue, getRequestValue, getRequestValues, getReservedParameter, getReservedValue, getResource, getSanitizedBodyString, getScope, getSessionAttribute, getTagName, getUser, getUserEditInfo, getUserInfo, isAjaxSubmitRequest, isDebug, isNoTransitionRequest, isNull, jspPrint, removeContextAttribute, removeObject, removeRequestAttribute, removeSessionAttribute, set, setAjaxSubmitRequest, 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
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
getParent, setPageContext, setParent
public LDAPQueryTag()
public int 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 ) |
4.3.1.1 (2008/09/03) 検索結果の件数、状況コードをリクエスト変数 "DB.COUNT"、"DB.ERR_CODE" にセットする。 |
5.1.6.0 (2010/05/01) DBLastSqlの処理は、DBTableModelが新規作成された処理でのみ行う。 |
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(String scope)
scope
- SearchControls の検索範囲SystemData.LDAP_SEARCH_SCOPE
検索範囲を OBJECT_SCOPE、ONELEVEL_SCOPE、SUBTREE_SCOPE のどれか 1 つです。 指定文字列は、それぞれ『OBJECT』『ONELEVEL』『SUBTREE』です。 (初期値:システム定数のLDAP_SEARCH_SCOPE[={@og.value org.opengion.hayabusa.common.SystemData#LDAP_SEARCH_SCOPE}])。
public void setTimeLimit(String limit)
limit
- ミリ秒単位の時間制限(初期値:無制限)値が 0 の場合、無制限に待つことを意味します。
public void setDerefLinkFlag(String deref)
deref
- リンクを逆参照する場合は true、そうでない場合は false(初期値:false)検索中のリンクへの間接参照を有効または無効にします。
public void setReturningObjFlag(String pbjflag)
pbjflag
- オブジェクトが返される場合は true、そうでない場合は false(初期値:false)無効にした場合、オブジェクトの名前およびクラスだけが返されます。 有効にした場合、オブジェクトが返されます。
public void setMaxRowCount(String count)
count
- レジストリの最大検索件数DBTableModelのデータとして登録する最大件数をこの値に設定します。 サーバーのメモリ資源と応答時間の確保の為です。 初期値は、0 は、無制限です。
public void setAttributes(String val)
val
- 返される属性を識別する属性 ID の羅列(カンマ区切り文字)null は属性が何も返されないことを示します。 このメソッドからは、空の配列をセットすることは出来ません。
3.5.6.2 (2004/07/05) 先に配列に分解してからリクエスト変数の値を取得 |
3.7.0.4 (2005/03/18) リクエスト変数の値を取得後、分解します。 |
public void setColumns(String clm)
clm
- 作成する DBTableModel のカラム名(カンマ区切り文字)なにも指定しない場合は、attributes 属性が使用されます。 LDAP検索結果に、別名をつけるイメージで使用します。
3.7.1.0 (2005/04/26) 新規追加 |
public void setInitctx(String ctx)
ctx
- 初期コンテキストファクトリSystemData.LDAP_INITIAL_CONTEXT_FACTORY
例)com.sun.jndi.ldap.LdapCtxFactory (初期値:システム定数のLDAP_INITIAL_CONTEXT_FACTORY[={@og.value org.opengion.hayabusa.common.SystemData#LDAP_INITIAL_CONTEXT_FACTORY}])。
public void setProviderURL(String url)
url
- サービスプロバイダの構成情報SystemData.LDAP_PROVIDER_URL
プロトコルとサーバーとポートを指定します。 例)『ldap://ldap.opengion.org:389』 (初期値:システム定数のLDAP_PROVIDER_URL[={@og.value org.opengion.hayabusa.common.SystemData#LDAP_PROVIDER_URL}])。
public void setSearchbase(String base)
base
- 検索ベースSystemData.LDAP_SEARCH_BASE
例)『soOUID=employeeuser,o=opengion,c=JP』 (初期値:システム定数のLDAP_SEARCH_BASE[={@og.value org.opengion.hayabusa.common.SystemData#LDAP_SEARCH_BASE}])。
public void setFilter(String siki)
siki
- フィルタ式例)『belongOUID=61200』
public void setEntrydn(String dn)
dn
- 取得元のオブジェクトの名前SystemData.LDAP_ENTRYDN
例)『soOUID=opengion-sys,o=opengion,c=JP』 (初期値:システム定数のLDAP_ENTRYDN[={@og.value org.opengion.hayabusa.common.SystemData#LDAP_ENTRYDN}])。
4.2.2.0 (2008/05/10) 初期値変更 |
public void setPassword(String pwd)
pwd
- 取得元のオブジェクトのパスワードSystemData.LDAP_PASSWORD
(初期値:システム定数のLDAP_PASSWORD[={@og.value org.opengion.hayabusa.common.SystemData#LDAP_PASSWORD}])。
4.2.2.0 (2008/05/10) 新規追加 |
public void setTableId(String id)
id
- sessionに登録する時の ID検索結果より、DBTableModelオブジェクトを作成します。これを、下流のviewタグ等に 渡す場合に、通常は、session を利用します。その場合の登録キーです。 query タグを同時に実行して、結果を求める場合、同一メモリに配置される為、 この tableId 属性を利用して、メモリ空間を分けます。 (初期値:HybsSystem#TBL_MDL_KEY[={@og.value org.opengion.hayabusa.common.HybsSystem#TBL_MDL_KEY}])。
public void setOrderBy(String ordr)
ordr
- ソートキーを指定。attributes 属性で指定するキー、または、LDAPから返されたキーについて その属性でソートします。逆順を行う場合は、DESC を指定のカラム名の後ろに 付けて下さい。
public void setCommand(String cmd)
cmd
- コマンド(public static final 宣言されている文字列)コマンドは,HTMLから(get/post)指定されますので,CMD_xxx で設定される フィールド定数値のいづれかを、指定できます。 何も設定されない、または、null の場合は、"NEW" が初期値にセットされます。
public void setDisplayMsg(String id)
id
- ディスプレイに表示させるメッセージ IDここでは、検索結果の件数や登録された件数をまず出力し、 その次に、ここで指定したメッセージをリソースから取得して 表示します。 表示させたくない場合は, displayMsg = "" をセットしてください。 初期値は、検索件数を表示します。
public void setNotfoundMsg(String id)
id
- ディスプレイに表示させるメッセージ IDここでは、検索結果がゼロ件の場合のみ、特別なメッセージを表示させます。 従来は、displayMsg と兼用で、『0 件検索しました』という表示でしたが、 displayMsg の初期表示は、OFF になりましたので、ゼロ件の場合のみ別に表示させます。 表示させたくない場合は, notfoundMsg = "" をセットしてください。 初期値は、MSG0077[対象データはありませんでした]です。
public void setOverflowMsg(String id)
id
- ディスプレイに表示させるメッセージ ID表示させたくない場合は, overflowMsg = "" をセットしてください。
public void setMainTrans(String flag)
flag
- メイントランザクションかどうかこの値は、ファイルダウンロード処理に影響します。この値がtrueに指定された時にcommitされたDBTableModelが ファイルダウンロードの対象の表になります。 このパラメーターは、通常、各タグにより実装され、ユーザーが指定する必要はありません。 但し、1つのJSP内でDBTableModelが複数生成される場合に、前に処理したDBTableModelについてファイルダウンロードをさせたい 場合は、後ろでDBTableModelを生成するタグで、明示的にこの値をfalseに指定することで、ファイルダウンロード処理の対象から 除外することができます。
5.1.6.0 (2010/05/01) 新規作成 |
public String toString()
toString
クラス内 CommonTagSupport
Webアプリケーションフレームワーク openGionCopyright (c) 2009 The openGion Project.