クラス LDAPQueryTag

  • すべての実装されたインタフェース:
    java.io.Serializable, BodyTag, IterationTag, JspTag, Tag, 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を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 = "(&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,
    • フィールドの詳細

      • 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()
        デフォルトコンストラクター
        変更履歴:
        6.4.2.0 (2016/01/29) PMD refactoring. Each class should declare at least one constructor.
    • メソッドの詳細

      • doEndTag

        public int doEndTag()
        Taglibの終了タグが見つかったときに処理する 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が新規作成された処理でのみ行う。, 6.4.3.4 (2016/03/11) String配列 から、Setに置き換えます。
      • release2

        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が新規作成された処理でのみ行う。
      • setSearchScope

        public void setSearchScope​(java.lang.String scope)
        【TAG】検索範囲(OBJECT/ONELEVEL/SUBTREE)を設定します (初期値:LDAP_SEARCH_SCOPE[=])。
        パラメータ:
        scope - SearchControlsの検索範囲 [OBJECT/ONELEVEL/SUBTREE]
        関連項目:
        SystemData.LDAP_SEARCH_SCOPE
        説明:
        検索範囲を OBJECT_SCOPE、ONELEVEL_SCOPE、SUBTREE_SCOPE のどれか 1 つです。 指定文字列は、それぞれ『OBJECT』『ONELEVEL』『SUBTREE』です。 (初期値:システム定数のLDAP_SEARCH_SCOPE[=])。
      • 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:無効]
        説明:
        検索中のリンクへの間接参照を有効または無効にします。 true:有効で、リンクを間接参照可能になります。 初期値は、false:無効です。
      • setReturningObjFlag

        public void setReturningObjFlag​(java.lang.String pbjflag)
        【TAG】結果の一部としてオブジェクトを返す[true:有効/false:無効]かどうか設定します(初期値:false)。
        パラメータ:
        pbjflag - オブジェクト返し [true:有効/false:無効]
        説明:
        true:有効にした場合、オブジェクトが返されます。 false:無効にした場合、オブジェクトの名前およびクラスだけが返されます。 初期値は、false:無効 です。
      • setMaxRowCount

        public void setMaxRowCount​(java.lang.String count)
        【TAG】LDAPデータの最大検索件数をセットします(初期値:0[無制限])。
        パラメータ:
        count - 最大件数
        説明:
        DBTableModelのデータとして登録する最大検索件数をこの値に設定します。 サーバーのメモリ資源と応答時間の確保の為です。 初期値は、0 は、無制限です。
      • setAttributes

        public void setAttributes​(java.lang.String val)
        【TAG】検索の一部として返される属性をCSVで複数指定します。
        パラメータ:
        val - 返される属性を識別する属性ID(CSV形式)
        説明:
        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 - カラム名(CSV形式)
        説明:
        なにも指定しない場合は、attributes 属性が使用されます。 LDAP検索結果に、別名をつけるイメージで使用します。
        変更履歴:
        3.7.1.0 (2005/04/26) 新規追加
      • setInitctx

        public void setInitctx​(java.lang.String ctx)
        【TAG】初期コンテキストファクトリを指定します (初期値:LDAP_INITIAL_CONTEXT_FACTORY[=])。
        パラメータ:
        ctx - 初期コンテキストファクトリ
        関連項目:
        SystemData.LDAP_INITIAL_CONTEXT_FACTORY
        説明:
        例)com.sun.jndi.ldap.LdapCtxFactory (初期値:システム定数のLDAP_INITIAL_CONTEXT_FACTORY[=])。
      • setProviderURL

        public void setProviderURL​(java.lang.String url)
        【TAG】サービスプロバイダの構成情報を指定します (初期値:LDAP_PROVIDER_URL[=])。
        パラメータ:
        url - サービスプロバイダの構成情報
        関連項目:
        SystemData.LDAP_PROVIDER_URL
        説明:
        プロトコルとサーバーとポートを指定します。 例)『ldap://ldap.opengion.org:389』 (初期値:システム定数のLDAP_PROVIDER_URL[=])。
      • setSearchbase

        public void setSearchbase​(java.lang.String base)
        【TAG】検索するコンテキストまたはオブジェクトの名前を設定します (初期値:LDAP_SEARCH_BASE[=])。
        パラメータ:
        base - 検索ベース
        関連項目:
        SystemData.LDAP_SEARCH_BASE
        説明:
        例)『soOUID=employeeuser,o=opengion,c=JP』 (初期値:システム定数のLDAP_SEARCH_BASE[=])。
      • setFilter

        public void setFilter​(java.lang.String siki)
        【TAG】検索に使用するフィルタ式(例:belongOUID=61200)。
        パラメータ:
        siki - フィルタ式
        説明:
        例)『belongOUID=61200』
      • setEntrydn

        public void setEntrydn​(java.lang.String dn)
        【TAG】属性の取得元のオブジェクトの名前を設定します (初期値:LDAP_ENTRYDN[=])。
        パラメータ:
        dn - 取得元のオブジェクトの名前
        関連項目:
        SystemData.LDAP_ENTRYDN
        説明:
        例)『soOUID=opengion-sys,o=opengion,c=JP』 (初期値:システム定数のLDAP_ENTRYDN[=])。
        変更履歴:
        4.2.2.0 (2008/05/10) 初期値変更
      • setPassword

        public void setPassword​(java.lang.String pwd)
        【TAG】属性の取得元のオブジェクトのパスワードを設定します (初期値:LDAP_PASSWORD[=])。
        パラメータ:
        pwd - パスワード
        関連項目:
        SystemData.LDAP_PASSWORD
        説明:
        (初期値:システム定数のLDAP_PASSWORD[=])。
        変更履歴:
        4.2.2.0 (2008/05/10) 新規追加
      • setTableId

        public void setTableId​(java.lang.String id)
        【TAG】(通常は使いません)結果のDBTableModelを、sessionに登録するときのキーを指定します (初期値:HybsSystem#TBL_MDL_KEY[=])。
        パラメータ:
        id - テーブルID (sessionに登録する時のID)
        説明:
        検索結果より、DBTableModelオブジェクトを作成します。これを、下流のviewタグ等に 渡す場合に、通常は、session を利用します。その場合の登録キーです。 query タグを同時に実行して、結果を求める場合、同一メモリに配置される為、 この tableId 属性を利用して、メモリ空間を分けます。 (初期値: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を指定します (初期値:VIEW_DISPLAY_MSG[=])。
        パラメータ:
        id - 処理結果表示メッセージID
        説明:
        ここでは、検索結果の件数や登録された件数をまず出力し、 その次に、ここで指定したメッセージをリソースから取得して 表示します。 件数を表示させる場合は、displayMsg = "MSG0033"[ 件検索しました] をセットしてください。 表示させたくない場合は, displayMsg = "" をセットしてください。 (初期値:システム定数のVIEW_DISPLAY_MSG[=])。
      • 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 - メイントランザクションかどうか [true:メイン/false:その他]
        説明:
        この値は、ファイルダウンロード処理に影響します。この値がtrueに指定された時にcommitされたDBTableModelが ファイルダウンロードの対象の表になります。 このパラメーターは、通常、各タグにより実装され、ユーザーが指定する必要はありません。 但し、1つのJSP内でDBTableModelが複数生成される場合に、前に処理したDBTableModelについてファイルダウンロードをさせたい 場合は、後ろでDBTableModelを生成するタグで、明示的にこの値をfalseに指定することで、ファイルダウンロード処理の対象から 除外することができます。
        変更履歴:
        5.1.6.0 (2010/05/01) 新規作成
      • toString

        public java.lang.String toString()
        このオブジェクトの文字列表現を返します。 基本的にデバッグ目的に使用します。
        オーバーライド:
        toString クラス内 CommonTagSupport
        戻り値:
        このクラスの文字列表現
        このメソッドは、nullを返しません