ビューの検索基準としてWHERE句の値を指定します。
<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>
タグで指定したデータソースのデータ項目名に一致している必要があります。
次の例では、ビュー基準を追加します。 ユーザーが「検索」または「基準の追加」ボタンをクリックすると、<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, 2004, Oracle. All rights reserved.