|
|
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Objectjavax.servlet.jsp.tagext.TagSupport
javax.servlet.jsp.tagext.BodyTagSupport
org.opengion.hayabusa.taglib.CommonTagSupport
org.opengion.hayabusa.taglib.LDAPQueryTag
public class LDAPQueryTag
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をカンマ区切りで指定
searchScope = "SUBTREE" 検索範囲を設定(『OBJECT』『ONELEVEL』『SUBTREE』のどれか)
maxRowCount = "0" 検索時の最大検索数(0は、無制限:デフォルト)
/>
●body:なし
●使用例
システムパラメータ に、必要な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" |
| クラス 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 |
| コンストラクタの概要 | |
|---|---|
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を指定します(初期値は検索件数)。 |
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】初期コンテキストファクトリを指定します(初期値:システムパラメータ の INITIAL_CONTEXT_FACTORY)。 |
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 |
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に登録するときのキーを指定します。 |
void |
setTimeLimit(java.lang.String limit)
【TAG】これらの SearchControls の時間制限をミリ秒単位で設定します(初期値:0[無制限])。 |
java.lang.String |
toString()
このオブジェクトの文字列表現を返します。 |
| クラス 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 |
| フィールドの詳細 |
|---|
public static final java.lang.String CMD_NEW
public static final java.lang.String CMD_RENEW
| コンストラクタの詳細 |
|---|
public LDAPQueryTag()
| メソッドの詳細 |
|---|
public int doEndTag()
javax.servlet.jsp.tagext.Tag 内の doEndTagCommonTagSupport 内の doEndTag| 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" にセットする。 |
protected void release2()
CommonTagSupport 内の release2| 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 追加 |
public void setSearchScope(java.lang.String scope)
scope - SearchControls の検索範囲| 検索範囲を OBJECT_SCOPE、ONELEVEL_SCOPE、SUBTREE_SCOPE のどれか 1 つです。 指定文字列は、それぞれ『OBJECT』『ONELEVEL』『SUBTREE』です。 |
public void setTimeLimit(java.lang.String limit)
limit - ミリ秒単位の時間制限(初期値 無制限)| 値が 0 の場合、無制限に待つことを意味します。 |
public void setDerefLinkFlag(java.lang.String deref)
deref - リンクを逆参照する場合は true、そうでない場合は false(初期値 false)| 検索中のリンクへの間接参照を有効または無効にします。 |
public void setReturningObjFlag(java.lang.String pbjflag)
pbjflag - オブジェクトが返される場合は true、そうでない場合は false(初期値 false)| 無効にした場合、オブジェクトの名前およびクラスだけが返されます。 有効にした場合、オブジェクトが返されます。 |
public void setMaxRowCount(java.lang.String count)
count - レジストリの最大検索件数| DBTableModelのデータとして登録する最大件数をこの値に設定します。 サーバーのメモリ資源と応答時間の確保の為です。 0 は、無制限です。(初期値は、無制限です。) |
public void setAttributes(java.lang.String val)
val - 返される属性を識別する属性 ID の羅列(カンマ区切り文字)| null は属性が何も返されないことを示します。 このメソッドからは、空の配列をセットすることは出来ません。 |
| 3.5.6.2 (2004/07/05) 先に配列に分解してからリクエスト変数の値を取得 |
| 3.7.0.4 (2005/03/18) リクエスト変数の値を取得後、分解します。 |
public void setColumns(java.lang.String clm)
clm - 作成する DBTableModel のカラム名(カンマ区切り文字)| なにも指定しない場合は、attributes 属性が使用されます。 LDAP検索結果に、別名をつけるイメージで使用します。 |
| 3.7.1.0 (2005/04/26) 新規追加 |
public void setInitctx(java.lang.String ctx)
ctx - INITIAL_CONTEXT_FACTORY| 初期値は、システムパラメータ の INITIAL_CONTEXT_FACTORY 属性です。 例)com.sun.jndi.ldap.LdapCtxFactory |
public void setProviderURL(java.lang.String url)
url - PROVIDER_URL| プロトコルとサーバーとポートを指定します。 例)『ldap://ldap.opengion.org:389』 |
public void setSearchbase(java.lang.String base)
base - SEARCHBASE| 例)『soOUID=employeeuser,o=opengion,c=JP』 |
public void setFilter(java.lang.String siki)
siki - FILTER| 例)『belongOUID=61200』 |
public void setEntrydn(java.lang.String dn)
dn - String| 初期値:システムパラメータ の LDAP_ENTRYDN が使用されます。 例)『soOUID=opengion-sys,o=opengion,c=JP』 |
| 4.2.2.0 (2008/05/10) 初期値変更 |
public void setPassword(java.lang.String pwd)
pwd - String| 初期値:システムパラメータ の LDAP_PASSWORD が使用されます。 |
| 4.2.2.0 (2008/05/10) 新規追加 |
public void setTableId(java.lang.String id)
id - sessionに登録する時の ID| 初期値は、HybsSystem.TBL_MDL_KEY で定義した値です。 |
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 = "" をセットしてください。 初期値は、検索件数を表示します。 |
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 java.lang.String toString()
CommonTagSupport 内の toString
|
openGion 5.0.0.2 | ||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | ||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | ||||||||