<jbo:Criteria>

ビューの検索基準としてWHERE句の値を指定します。

JSP構文

<jbo:Criteria
   dataitem="attributeName"
   value="criteriaValue"
/>

説明

<jbo:Criteria>データ・タグは、ビューの検索基準を表す行インスタンス用に新規の基準オブジェクトを作成します。個々の行基準は、ビュー・オブジェクトのWHERE句を定義します。このとき、1つの行基準には個々の属性に対する基準が含まれます。基準オブジェクトを使用して任意のSQL文を作成します。このデータ・タグは、<jbo:DataSource>データ・タグのwhereclause属性に比べて、より構造化されたSQL問合せのWHERE句の作成を可能にします。

ビュー基準は、含まれる行基準および個々の基準のコンテキストを提供します。このコンテキストを使用するには、データソースおよびビュー基準インスタンスのIDをViewCriteriaデータ・タグで指定する必要があります。このため、Criteriaデータ・タグは、実際のデータソースが指定される、ViewCriteriaタグの内部のCriteriaRowタグ内で使用する必要があります。

JSPページを実行する際、行基準オブジェクトにより生成されるWHERE句は、基準となるすべての文をAND処理で結合します。したがって、データソースの値が検索結果として返されると、その値はCriteriaRowタグで定義した各基準値を満たしています。

参照項目: oracle.jbo.ViewCriteriaRow

属性

次の例では、ビュー基準を追加します。ユーザーが「Search」または「Add Criteria」ボタンをクリックすると、Criteriaデータ・タグが、JSP編集フォームから検索を実行するための基準値を取得します。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) { }
      }
   %>
   <jbo:ViewCriteria id="vc" datasource="ds" action="new">
   <% 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>