概要 | パッケージ | クラス | 階層ツリー | 非推奨 API | 索引 | ヘルプ
openGion 5.1.3.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

すべての実装されたインタフェース:
  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をカンマ区切りで指定
               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) ＬＤＡＰにアクセスできる、LDAPQueryTag.java を新規に作成。

バージョン
  4.0
作成者
  Kazuhiko Hasegawa
導入されたバージョン:
  JDK5.0,

フィールドの概要
`static String` | `CMD_NEW` command 引数に渡す事の出来る コマンド 新規 "NEW"
`static 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(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)。
`void` | `setFilter(String siki)` 【TAG】検索に使用するフィルタ式(例：belongOUID=61200)。
`void` | `setInitctx(String ctx)` 【TAG】初期コンテキストファクトリを指定します(初期値:システムパラメータ の INITIAL_CONTEXT_FACTORY)。
`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)。
`void` | `setProviderURL(String url)` 【TAG】サービスプロバイダの構成情報を指定します(初期値:システムパラメータ の LDAP_PROVIDER_URL)。
`void` | `setReturningObjFlag(String pbjflag)` 【TAG】結果の一部としてオブジェクトを返すことを有効または無効(true/false)にします(初期値:false)。
`void` | `setSearchbase(String base)` 【TAG】検索するコンテキストまたはオブジェクトの名前を設定します(初期値:システムパラメータ の LDAP_SEARCH_BASE)。
`void` | `setSearchScope(String scope)` 【TAG】検索範囲(OBJECT/ONELEVEL/SUBTREE)を設定します(初期値:システムパラメータ の LDAP_SEARCH_SCOPE)。
`void` | `setTableId(String id)` 【TAG】(通常は使いません)結果をDBTableModelに書き込んで、sessionに登録するときのキーを指定します。
`void` | `setTimeLimit(String limit)` 【TAG】これらの SearchControls の時間制限をミリ秒単位で設定します(初期値:0[無制限])。
`String` | `toString()` このオブジェクトの文字列表現を返します。

クラス org.opengion.hayabusa.taglib.CommonTagSupport から継承されたメソッド
`add, add, addEventColumnSQL, 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, getScope, getSessionAttribute, getTagName, getUser, getUserInfo, isAjaxSubmitRequest, isDebug, isNoTransitionRequest, isNull, jspPrint, removeContextAttribute, removeObject, removeRequestAttribute, removeSessionAttribute, set, setAjaxSubmitRequest, setContextAttribute, setCookie, setDebug, setLanguage, setLbl, setMsglbl, setNoTransitionRequest, setObject, setParameterRows, setRequestAttribute, setRequestCacheData, setScope, setSessionAttribute, setUserInfo, setUseValue, startQueryTransaction, sys, sysBool, sysInt, useQuotCheck, 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 String CMD_NEW

  command 引数に渡す事の出来る コマンド 新規 "NEW"

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

### CMD_RENEW

    public static final String CMD_RENEW

  command 引数に渡す事の出来る コマンド 再検索 "RENEW"

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

コンストラクタの詳細

### LDAPQueryTag

    public LDAPQueryTag()

メソッドの詳細

### doEndTag

    public int doEndTag()

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

  定義:
    インタフェース `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" にセットする。

### 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 追加

### setSearchScope

    public void setSearchScope(String scope)

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

  パラメータ:
    `scope` - SearchControls の検索範囲
  TagLib:

    検索範囲を OBJECT_SCOPE、ONELEVEL_SCOPE、SUBTREE_SCOPE のどれか 1 つです。 指定文字列は、それぞれ『OBJECT』『ONELEVEL』『SUBTREE』です。

### setTimeLimit

    public void setTimeLimit(String limit)

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

  パラメータ:
    `limit` - ミリ秒単位の時間制限（初期値 無制限）
  TagLib:

    値が 0 の場合、無制限に待つことを意味します。

### setDerefLinkFlag

    public void setDerefLinkFlag(String deref)

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

  パラメータ:
    `deref` - リンクを逆参照する場合は true、そうでない場合は false（初期値 false）
  TagLib:

    検索中のリンクへの間接参照を有効または無効にします。

### setReturningObjFlag

    public void setReturningObjFlag(String pbjflag)

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

  パラメータ:
    `pbjflag` - オブジェクトが返される場合は true、そうでない場合は false（初期値 false）
  TagLib:

    無効にした場合、オブジェクトの名前およびクラスだけが返されます。 有効にした場合、オブジェクトが返されます。

### setMaxRowCount

    public void setMaxRowCount(String count)

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

  パラメータ:
    `count` - レジストリの最大検索件数
  TagLib:

    DBTableModelのデータとして登録する最大件数をこの値に設定します。 サーバーのメモリ資源と応答時間の確保の為です。 0 は、無制限です。（初期値は、無制限です。）

### setAttributes

    public void setAttributes(String val)

  【TAG】検索の一部として返される属性をCSVで複数指定します。

  パラメータ:
    `val` - 返される属性を識別する属性 ID の羅列（カンマ区切り文字）
  TagLib:

    null は属性が何も返されないことを示します。 このメソッドからは、空の配列をセットすることは出来ません。

  変更履歴:

    3.5.6.2 (2004/07/05) 先に配列に分解してからリクエスト変数の値を取得
    3.7.0.4 (2005/03/18) リクエスト変数の値を取得後、分解します。

### setColumns

    public void setColumns(String clm)

  【TAG】作成する DBTableModel のカラム名をCSV形式で指定します。

  パラメータ:
    `clm` - 作成する DBTableModel のカラム名（カンマ区切り文字）
  TagLib:

    なにも指定しない場合は、attributes 属性が使用されます。 LDAP検索結果に、別名をつけるイメージで使用します。

  変更履歴:

    3.7.1.0 (2005/04/26) 新規追加

### setInitctx

    public void setInitctx(String ctx)

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

  パラメータ:
    `ctx` - INITIAL_CONTEXT_FACTORY
  TagLib:

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

### setProviderURL

    public void setProviderURL(String url)

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

  パラメータ:
    `url` - PROVIDER_URL
  TagLib:

    プロトコルとサーバーとポートを指定します。 例）『ldap://ldap.opengion.org:389』

### setSearchbase

    public void setSearchbase(String base)

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

  パラメータ:
    `base` - SEARCHBASE
  TagLib:

    例）『soOUID=employeeuser,o=opengion,c=JP』

### setFilter

    public void setFilter(String siki)

  【TAG】検索に使用するフィルタ式(例：belongOUID=61200)。

  パラメータ:
    `siki` - FILTER
  TagLib:

    例）『belongOUID=61200』

### setEntrydn

    public void setEntrydn(String dn)

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

  パラメータ:
    `dn` - String
  TagLib:

    初期値:システムパラメータ の LDAP_ENTRYDN が使用されます。 例）『soOUID=opengion-sys,o=opengion,c=JP』

  変更履歴:

    4.2.2.0 (2008/05/10) 初期値変更

### setPassword

    public void setPassword(String pwd)

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

  パラメータ:
    `pwd` - String
  TagLib:

    初期値:システムパラメータ の LDAP_PASSWORD が使用されます。

  変更履歴:

    4.2.2.0 (2008/05/10) 新規追加

### setTableId

    public void setTableId(String id)

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

  パラメータ:
    `id` - sessionに登録する時の ID
  TagLib:

    初期値は、HybsSystem.TBL_MDL_KEY で定義した値です。

### setOrderBy

    public void setOrderBy(String ordr)

  【TAG】検索した結果を表示する表示順をファイル属性名で指定します。

  パラメータ:
    `ordr` - ソートキーを指定。
  TagLib:

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

### setCommand

    public void setCommand(String cmd)

  【TAG】コマンド(NEW,RENEW)をセットします(初期値:NEW)。

  パラメータ:
    `cmd` - コマンド（public static final 宣言されている文字列)
  関連項目:
    コマンド定数
  TagLib:

    コマンドは,HTMLから（get/post)指定されますので,CMD_xxx で設定される フィールド定数値のいづれかを、指定できます。 何も設定されない、または、null の場合は、"NEW" が初期値にセットされます。

### setDisplayMsg

    public void setDisplayMsg(String id)

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

  パラメータ:
    `id` - ディスプレイに表示させるメッセージ ID
  TagLib:

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

### setNotfoundMsg

    public void setNotfoundMsg(String id)

  【TAG】検索結果がゼロ件の場合に表示するメッセージリソースIDを指定します(初期値:MSG0077[対象データはありませんでした])。

  パラメータ:
    `id` - ディスプレイに表示させるメッセージ ID
  TagLib:

    ここでは、検索結果がゼロ件の場合のみ、特別なメッセージを表示させます。 従来は、displayMsg と兼用で、『0　件検索しました』という表示でしたが、 displayMsg の初期表示は、OFF になりましたので、ゼロ件の場合のみ別に表示させます。 表示させたくない場合は, notfoundMsg = "" をセットしてください。 初期値は、MSG0077[対象データはありませんでした]です。

### setOverflowMsg

    public void setOverflowMsg(String id)

  【TAG】オーバーフロー時に画面上に表示するメッセージIDを指定します(初期値:MSG0007)。

  パラメータ:
    `id` - ディスプレイに表示させるメッセージ ID
  TagLib:

    表示させたくない場合は, overflowMsg = "" をセットしてください。

### toString

    public String toString()

  このオブジェクトの文字列表現を返します。 基本的にデバッグ目的に使用します。

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

概要 | パッケージ | クラス | 階層ツリー | 非推奨 API | 索引 | ヘルプ
| openGion 5.1.3.0
前のクラス 次のクラス | フレームあり フレームなし
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド

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