基本検索を実行するために、JSPページからSearchListPortletへのディープリンクを指定することができます。ポートレットのURLは、検索条件を指定した要求パラメータの単純セット、またはJSON形式のクエリ文字列を渡す必要があります。基本検索には、次のような単一の検索条件を定義します。
First Name starts with A
検索を実行するには、SearchListPortletのシングルポートレットレンダURLを呼び出します。要求パラメータMODE=MODE_RESULTS_LISTを渡す必要があります。
SearchListPortletに要求パラメータの単純セットを渡すことができます。これらのパラメータは、エンティティ、検索する属性、演算子、および検索文字列を指定します。ポートレットのURLおよび4つの要求パラメータを指定したスクリプトの例を次に示します。
<script type="text/javascript">function openSearchResults(extraUrlParams) { var url = "/IDMProv/portal/portlet/SearchListPortlet?"; url += "urlType=Render&novl-regid=SearchListPortlet"; url += "&novl-inst=IDMProv.SearchListPortlet"; url += "&wsrp-mode=view&wsrp-windowstate=normal"; url += "&MODE=MODE_RESULTS_LIST&"; url += extraUrlParams; var feat = "width=700,height=600"; feat += ",menubar=no,resizable=yes,toolbar=no,scrollbars=yes"; var win = window.open(url, "TestSearchPopup", feat); if (win) win.focus(); } var search1a = "ENTITY_DEF=user"; search1a += "&COND_ROW_ATTR=FirstName"; search1a += "&COND_ROW_REL_OP=starts-with"; search1a += "&COND_ROW_VAL=A"; ...
この関数を呼び出すために、onclickイベントを使って次のようにボタンを表示できます。
<input type="button" value="GO" onclick="openSearchResults(search1a)"/>
要求パラメータの説明を次の表に示します。
表 B-1 基本検索の要求パラメータ
クエリにJSON文字列形式を使用する場合、SearchListPortletには前述の要求パラメータの代わりに、QUERYパラメータを渡します。 QUERYパラメータの構成を示すJavaScript変数を次に示します。
var search1b ='QUERY={"k":"Lastname starts with B","mxPg":"10",'; search1b +='"mxRes":"0","ptr":"1","grp":[{"map":{"row":[{"map":{'; search1b +='"rowRop":"starts-with","rowVal":"B","rowAttr":"LastName"'; search1b +='}}],"rowLop":"and"}}],'; search1b +='"orderBy":"LastName","entDef":"user",'; search1b +='"sScope":"","sRoot":"","grpLop":"and",'; search1b +='"selAttr":["FirstName","LastName",'; search1b +='"Title","Email","TelephoneNumber"]}';
JSON構造では、SearchListPortletに関連する大部分の設定/初期設定値を指定することができます。
SearchListPortletに渡されるQUERYパラメータを定義する、JSON名/値のペアを次の表に示します。
表 B-2 QUERYパラメータを定義するJSON構造
JSON設定 |
説明 |
---|---|
k |
検索の名前を指定します。(オプション) |
mxPg |
ページ当たりの最大行数を指定します。(オプション) |
mxRes |
取得する行合計の最大値を指定します。(オプション) |
ptr |
ページ番号付けのオフセットを定義するスクロールポインタを設定します。(オプション) |
grp |
条件グループを定義します。1つまたは複数の条件グループを定義することができます。条件グループの設定の詳細は、表 B-3を参照してください。 |
orderBy |
ソートする属性を指定します。(オプション) |
entDef |
ディレクトリ抽象化層のエンティティを指定します。 |
sScope |
検索スコープを設定します。(オプション) |
sRoot |
検索ルートを設定します。(オプション) |
grpLop |
このクエリ内のグループに対する論理演算子(andまたはor)を定義します。 |
selAttr |
検索結果に含める属性を表示します。 |
条件グループを定義するJSON構造を、次の表に示します。
表 B-3 条件グループを定義するJSON構造
JSON設定 |
説明 |
---|---|
row |
条件行を定義します。1つまたは複数の条件行を定義することができます。条件行の設定の詳細は、表 B-4を参照してください。 |
rowLop |
このグループ内の行に対する論理演算子(andまたはor)を定義します。 |
条件行を定義するJSON構造を、次の表に示します。
表 B-4 条件行のフィールドを定義するJSON構造
JSON設定 |
説明 |
---|---|
rowRop |
関係演算子を定義します。JSONがサポートする関係演算子は、要求パラメータを使った基本検索の演算子と同じです。関係演算子の完全なリストについては、表 B-1のCOND_ROW_REL_OPの説明を参照してください。 |
rowVal |
検索値を設定します。 |
rowAttr |
検索する属性を指定します。 |