InCriteria (JSP)
Use InCriteria to include certain items in a query.
<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<%@page import="com.tridion.broker.StorageException,
com.tridion.broker.querying.*,
com.tridion.broker.querying.criteria.*,
com.tridion.broker.querying.criteria.categorization.*,
com.tridion.broker.querying.criteria.content.*,
com.tridion.broker.querying.criteria.metadata.*,
com.tridion.broker.querying.criteria.operators.*,
com.tridion.broker.querying.criteria.taxonomy.*,
com.tridion.broker.querying.filter.LimitFilter,
com.tridion.broker.querying.sorting.SortParameter"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title></title>
</head>
<%
//Create query
Query myQuery = new Query();
Criteria myCriteria = null;
String taxonomyURI = "tcm:4-1042-512";
// Criteria for keywords
Criteria keywordOneCriteria = new TaxonomyKeywordCriteria(taxonomyURI, "tcm:4-6252-1024", false);
Criteria keywordTwoCriteria = new TaxonomyKeywordCriteria(taxonomyURI, "tcm:4-5243-1024", false);
// Combine with InCriteria to find all items which have either one of the keywords
Criteria inCriteria = new InCriteria(new OrCriteria(keywordOneCriteria, keywordTwoCriteria));
// ItemTypeCriteria for items of type 64, that is, Page.
ItemTypeCriteria itemTypeCriteria = new ItemTypeCriteria(64);
// Combine ItemTypeCriteria with InCriteria for find all Pages that have one of the Keywords
myCriteria = new AndCriteria(inCriteria, itemTypeCriteria);
myQuery.setCriteria(myCriteria);
SortParameter sortParameter = new SortParameter(SortParameter.ITEMS_TITLE, SortParameter.ASCENDING);
myQuery.addSorting(sortParameter);
myQuery.setResultFilter(new LimitFilter(20));
String[] itemURIs = myQuery.executeQuery();
String strOutput = "";
for (int i = 0; i < itemURIs.length; i++) {
strOutput += itemURIs[i] + ", ";
}
%>
<body>
<%=strOutput%>
</body>
</html>