openGionopenGion
5.5.2.0

org.opengion.hayabusa.taglib
クラス LDAPQueryTag

java.lang.Object
  上位を拡張 javax.servlet.jsp.tagext.TagSupport
      上位を拡張 javax.servlet.jsp.tagext.BodyTagSupport
          上位を拡張 org.opengion.hayabusa.taglib.CommonTagSupport
              上位を拡張 org.opengion.hayabusa.taglib.LDAPQueryTag
すべての実装されたインタフェース:
java.io.Serializable, javax.servlet.jsp.tagext.BodyTag, javax.servlet.jsp.tagext.IterationTag, javax.servlet.jsp.tagext.JspTag, javax.servlet.jsp.tagext.Tag, javax.servlet.jsp.tagext.TryCatchFinally

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をカンマ区切りで指定
         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      = "(&amp;(|(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 を新規に作成。
機能階層
その他入力
バージョン
4.0
作成者
Kazuhiko Hasegawa
導入されたバージョン:
JDK5.0,

フィールドの概要
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 setMainTrans(java.lang.String flag)
          【TAG】(通常使いません)タグで処理される処理がメインとなるトランザクション処理かどうかを指定します。
 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()
          このオブジェクトの文字列表現を返します。
 
クラス org.opengion.hayabusa.taglib.CommonTagSupport から継承されたメソッド
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, getLabel, getLabelInterface, getLanguage, getLongLabel, getMsglbl, getObject, getParameterNames, getParameterRows, getRequest, getRequestAttribute, getRequestCacheData, getRequestParameter, getRequestParameterValues, getRequestValue, getRequestValue, getRequestValues, getResource, getSanitizedBodyString, getScope, getSessionAttribute, getTagName, getUser, getUserInfo, isAjaxSubmitRequest, isDebug, isNoTransitionRequest, isNull, jspPrint, removeContextAttribute, removeObject, removeRequestAttribute, removeSessionAttribute, set, setAjaxSubmitRequest, setCaseKey, 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
 

フィールドの詳細

CMD_NEW

public static final java.lang.String CMD_NEW
command 引数に渡す事の出来る コマンド 新規 "NEW"

関連項目:
定数フィールド値

CMD_RENEW

public static final java.lang.String CMD_RENEW
command 引数に渡す事の出来る コマンド 再検索 "RENEW"

関連項目:
定数フィールド値
コンストラクタの詳細

LDAPQueryTag

public LDAPQueryTag()
メソッドの詳細

doEndTag

public int doEndTag()
Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。

定義:
インタフェース javax.servlet.jsp.tagext.Tag 内の doEndTag
オーバーライド:
クラス CommonTagSupport 内の doEndTag
戻り値:
int 後続処理の指示
変更履歴:
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が新規作成された処理でのみ行う。

release2

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 追加
5.1.6.0 (2010/05/01) DBLastSqlの処理は、DBTableModelが新規作成された処理でのみ行う。

setSearchScope

public void setSearchScope(java.lang.String scope)
【TAG】検索範囲(OBJECT/ONELEVEL/SUBTREE)を設定します(初期値:システムパラメータ の LDAP_SEARCH_SCOPE)。

パラメータ:
scope - SearchControls の検索範囲
説明:
 検索範囲を OBJECT_SCOPE、ONELEVEL_SCOPE、SUBTREE_SCOPE のどれか 1 つです。
 指定文字列は、それぞれ『OBJECT』『ONELEVEL』『SUBTREE』です。

setTimeLimit

public void setTimeLimit(java.lang.String limit)
【TAG】これらの SearchControls の時間制限をミリ秒単位で設定します(初期値:0[無制限])。

パラメータ:
limit - ミリ秒単位の時間制限(初期値 無制限)
説明:
 値が 0 の場合、無制限に待つことを意味します。

setDerefLinkFlag

public void setDerefLinkFlag(java.lang.String deref)
【TAG】検索中のリンクへの間接参照を有効または無効(true/false)にします(初期値:false)。

パラメータ:
deref - リンクを逆参照する場合は true、そうでない場合は false(初期値 false)
説明:
 検索中のリンクへの間接参照を有効または無効にします。

setReturningObjFlag

public void setReturningObjFlag(java.lang.String pbjflag)
【TAG】結果の一部としてオブジェクトを返すことを有効または無効(true/false)にします(初期値:false)。

パラメータ:
pbjflag - オブジェクトが返される場合は true、そうでない場合は false(初期値 false)
説明:
 無効にした場合、オブジェクトの名前およびクラスだけが返されます。
 有効にした場合、オブジェクトが返されます。

setMaxRowCount

public void setMaxRowCount(java.lang.String count)
【TAG】レジストリの最大検索件数をセットします(初期値:0[無制限])。

パラメータ:
count - レジストリの最大検索件数
説明:
 DBTableModelのデータとして登録する最大件数をこの値に設定します。
 サーバーのメモリ資源と応答時間の確保の為です。
 0 は、無制限です。(初期値は、無制限です。)

setAttributes

public void setAttributes(java.lang.String val)
【TAG】検索の一部として返される属性をCSVで複数指定します。

パラメータ:
val - 返される属性を識別する属性 ID の羅列(カンマ区切り文字)
説明:
 null は属性が何も返されないことを示します。
 このメソッドからは、空の配列をセットすることは出来ません。
変更履歴:
3.5.6.2 (2004/07/05) 先に配列に分解してからリクエスト変数の値を取得
3.7.0.4 (2005/03/18) リクエスト変数の値を取得後、分解します。

setColumns

public void setColumns(java.lang.String clm)
【TAG】作成する DBTableModel のカラム名をCSV形式で指定します。

パラメータ:
clm - 作成する DBTableModel のカラム名(カンマ区切り文字)
説明:
 なにも指定しない場合は、attributes 属性が使用されます。
 LDAP検索結果に、別名をつけるイメージで使用します。
変更履歴:
3.7.1.0 (2005/04/26) 新規追加

setInitctx

public void setInitctx(java.lang.String ctx)
【TAG】初期コンテキストファクトリを指定します(初期値:システムパラメータ の INITIAL_CONTEXT_FACTORY)。

パラメータ:
ctx - INITIAL_CONTEXT_FACTORY
説明:
 初期値は、システムパラメータ の INITIAL_CONTEXT_FACTORY 属性です。
 例)com.sun.jndi.ldap.LdapCtxFactory

setProviderURL

public void setProviderURL(java.lang.String url)
【TAG】サービスプロバイダの構成情報を指定します(初期値:システムパラメータ の LDAP_PROVIDER_URL)。

パラメータ:
url - PROVIDER_URL
説明:
 プロトコルとサーバーとポートを指定します。
 例)『ldap://ldap.opengion.org:389』

setSearchbase

public void setSearchbase(java.lang.String base)
【TAG】検索するコンテキストまたはオブジェクトの名前を設定します(初期値:システムパラメータ の LDAP_SEARCH_BASE)。

パラメータ:
base - SEARCHBASE
説明:
 例)『soOUID=employeeuser,o=opengion,c=JP』

setFilter

public void setFilter(java.lang.String siki)
【TAG】検索に使用するフィルタ式(例:belongOUID=61200)。

パラメータ:
siki - FILTER
説明:
 例)『belongOUID=61200』

setEntrydn

public void setEntrydn(java.lang.String dn)
【TAG】属性の取得元のオブジェクトの名前を設定します(初期値:システムパラメータ の LDAP_ENTRYDN)。

パラメータ:
dn - String
説明:
 初期値:システムパラメータ の LDAP_ENTRYDN が使用されます。
 例)『soOUID=opengion-sys,o=opengion,c=JP』
変更履歴:
4.2.2.0 (2008/05/10) 初期値変更

setPassword

public void setPassword(java.lang.String pwd)
【TAG】属性の取得元のオブジェクトのパスワードを設定します(初期値:システムパラメータ の LDAP_PASSWORD)。

パラメータ:
pwd - String
説明:
 初期値:システムパラメータ の LDAP_PASSWORD が使用されます。
変更履歴:
4.2.2.0 (2008/05/10) 新規追加

setTableId

public void setTableId(java.lang.String id)
【TAG】(通常は使いません)結果をDBTableModelに書き込んで、sessionに登録するときのキーを指定します。

パラメータ:
id - sessionに登録する時の ID
説明:
 初期値は、HybsSystem.TBL_MDL_KEY で定義した値です。

setOrderBy

public void setOrderBy(java.lang.String ordr)
【TAG】検索した結果を表示する表示順をファイル属性名で指定します。

パラメータ:
ordr - ソートキーを指定。
説明:
 attributes 属性で指定するキー、または、LDAPから返されたキーについて
 その属性でソートします。逆順を行う場合は、DESC を指定のカラム名の後ろに
 付けて下さい。

setCommand

public void setCommand(java.lang.String cmd)
【TAG】コマンド(NEW,RENEW)をセットします(初期値:NEW)。

パラメータ:
cmd - コマンド(public static final 宣言されている文字列)
関連項目:
コマンド定数
説明:
 コマンドは,HTMLから(get/post)指定されますので,CMD_xxx で設定される
 フィールド定数値のいづれかを、指定できます。
 何も設定されない、または、null の場合は、"NEW" が初期値にセットされます。

setDisplayMsg

public void setDisplayMsg(java.lang.String id)
【TAG】検索結果を画面上に表示するメッセージリソースIDを指定します(初期値は検索件数)。

パラメータ:
id - ディスプレイに表示させるメッセージ ID
説明:
 ここでは、検索結果の件数や登録された件数をまず出力し、
 その次に、ここで指定したメッセージをリソースから取得して
 表示します。
 表示させたくない場合は, displayMsg = "" をセットしてください。
 初期値は、検索件数を表示します。

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 = "" をセットしてください。

setMainTrans

public void setMainTrans(java.lang.String flag)
【TAG】(通常使いません)タグで処理される処理がメインとなるトランザクション処理かどうかを指定します。(初期値:false)

パラメータ:
flag - メイントランザクションかどうか
説明:
 (通常使いません)タグで処理される処理が、メインとなるトランザクション処理かどうかを指定します。(初期値:false)
 この値は、ファイルダウンロード処理に影響します。この値がtrueに指定された時にcommitされたDBTableModelが
 ファイルダウンロードの対象の表になります。
 
 このパラメーターは、通常、各タグにより実装され、ユーザーが指定する必要はありません。
 但し、1つのJSP内でDBTableModelが複数生成される場合に、前に処理したDBTableModelについてファイルダウンロードをさせたい
 場合は、後ろでDBTableModelを生成するタグで、明示的にこの値をfalseに指定することで、ファイルダウンロード処理の対象から
 除外することができます。
変更履歴:
5.1.6.0 (2010/05/01) 新規作成

toString

public java.lang.String toString()
このオブジェクトの文字列表現を返します。 基本的にデバッグ目的に使用します。

オーバーライド:
クラス CommonTagSupport 内の toString
戻り値:
このクラスの文字列表現

openGion 5.5.2.0

Webアプリケーションフレームワーク openGion
SourceForge.JPCopyright (c) 2009 The openGion Project.