基本検索を実行するために、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 |
検索する属性を指定します。 |