ビューの行基準としてWHERE句の値を指定します。
JSP構文
<jbo:Criteria
dataitem="attributeName"
value="criteriaValue"
/>
説明
<jbo:Criteria>
タグは、ビューの行基準インスタンス用に新規の基準オブジェクトを作成します。個々の行基準で、ビュー・オブジェクトのWHERE句を定義します。このとき、1つの行基準に個々の属性に対する基準が含まれます。この基準オブジェクトを使用して任意のSQL文を作成します。このCriteriaデータ・タグでは、<jbo:DataSource>
データ・タグのwhereclause
属性よりも構造化された方法でSQL問合せのWHERE句を作成できます。
ビュー基準は、含まれる行基準および個々の基準のコンテキストを提供します。このコンテキストを提供するには、データソースおよびビュー基準インスタンスのIDを<jbo:ViewCriteria>
データ・タグで指定する必要があります。このため、Criteriaデータ・タグは、実際のデータソースが指定される、 <jbo:ViewCriteria>
タグの内部にある <jbo:CriteriaRow>
タグ内で使用する必要があります。
JSPページを実行する際、行基準オブジェクトにより生成されるWHERE句は、基準となるすべての文をAND処理で結合します。したがって、データソースの値を検索結果として返すには、その値が<jbo:CriteriaRow>
タグで定義した各基準値を満たしている必要があります。
参照: oracle.jbo.ViewCriteriaRow
属性
<jbo:ViewCriteria>
タグで指定した、データ・ソース内の対応するデータ項目名に一致している必要があります。
例
次の例では、ビュー基準を追加します。ユーザーが「Search」または「Add Criteria」ボタンをクリックすると、<jbo:Criteria>
データ・タグが、JSP編集フォームから検索を実行するための基準値を取得します。<jbo:OnEvent>
タグが使用されているJSPページが、生成されたイベントを処理し、基準値を受け取ります。
<jbo:OnEvent list="Search, Add Criteria" >
<% String rowParam = params.getParameter("nRows");
int nRows = 0;
if (rowParam != null)
{
try { nRows = Integer.parseInt(rowParam); }
catch (Exception ex) { }
}
%>
<% for (int index=0; index nRows; index++)
{ %>
<jbo:CriteriaRow id="row<%=index%>" >
<jbo:AttributeIterate id="attrvc" datasource="ds" queriableonly="true">
<% String item = attrvc.getName();
String value = params.getParameter("row" + index + "_" + item); %>
<jbo:Criteria dataitem="<%=item%>" value="<%=value%>" />
</jbo:AttributeIterate>
</jbo:CriteriaRow>
<% } %>
</jbo:ViewCriteria>
</jbo:OnEvent>
Copyright © 1997, 2009, Oracle. All rights reserved.