검색 결과는 다음과 같이 생성됩니다.
<formAction> 태그는 모든 양식 요소에서 값을 검색하고 기본적인 확인을 수행합니다.
<search> 태그, <resultIteration> 태그 및 기타 태그는 <formAction> 태그 내부에 나타나고 모든 양식 요소의 값에 액세스할 수 있습니다.
<search> 태그는 <formAction>에서 쿼리 문자열 및 모음으로 검색을 실행하고 검색 결과를 pageContext에 저장합니다.
그런 다음 <resultIteration> 태그는 검색을 수행하고 결과 집합을 통해 반복합니다.
태그의 속성 값만 변경하면 검색 결과 페이지를 사용자 정의할 수 있습니다.
다음 샘플 코드는 제목 표시줄로 시작한 다음 지정된 수의 레코드를 표시하고 마지막으로 검색 표시줄을 표시합니다. 제목 표시줄에는 검색에 사용되는 쿼리 문자열과 반환되는 총 레코드 범위(예: 1– 10)가 포함됩니다. 각 레코드의 레코드 섹션에는 제목과 파일 링크, 키워드가 강조 표시된 최대 세 개의 구절, 만든 날짜, 문서 크기가 표시됩니다.
섹션의 끝에 있는 검색 표시줄은 이전 및 다음 페이지에 대한 링크와 현재 페이지 앞뒤로 최대 8개의 추가 페이지에 대한 직접 링크를 제공합니다.
<s1ws:formAction /> <s1ws:formSubmission success="true" > <s1ws:search scope="page" /> <!--search results--> (...html omitted...) <s1ws:resultStat formId="test" type="total" /></b> Results Found, Sorted by Relevance</span></td><td> <span class="body"><a href="/search/search.jsp?">Sort by Date</a></span></td> <td align="right"><span class="body"> <s1ws:resultNav formId="test" type="previous" caption="<img border=0 src=\\"images/arrow-left.gif\\" alt=\\"Previous\\">" /> <s1ws:resultStat formId="test" type="range" /> <s1ws:resultNav formId="test" type="next" caption="<img border=0 src=\\"images/arrow-right.gif\\" alt=\\"Next\\">" /> <!img alt="Next" src="images/arrow-right.gif" border="0" WIDTH="13" HEIGHT="9"> (...html omitted...) <table border=0> <s1ws:resultIteration formId="test" start="1" results="15"> <tr class=body> <td valign=top> <s1ws:item property=’number’ />. </td> <td> <b><a href="<s1ws:item property=’url’ />"><s1ws:item property=’title’ /></a></b> <br> <s1ws:item property=’passages’ /> <font color="#999999" size="-2"> <s1ws:item property=’url’ /> - <s1ws:item property=’date’ /> - <s1ws:item property=’size’ /> KB </font><br><br> </td> </tr> </s1ws:resultIteration> </table> (...html omitted...) <s1ws:resultNav formId="test" type="previous" /> <s1ws:resultNav formId="test" type="full" offset="8" /> <s1ws:resultNav formId="test" type="next" /> (...html omitted...) </s1ws:formSubmission>
다음 그림은 사용자 정의 검색 결과 페이지를 나타냅니다.
사용자 정의 검색 결과 페이지
태그를 조작하고 HTML을 수정하면 기본 검색 결과 인터페이스를 쉽게 사용자 정의할 수 있습니다. 예를 들어 검색 표시줄을 복사하여 검색 결과 앞에 배치할 수 있습니다. 사용자는 검색 레코드의 등록 정보 표시 여부를 선택할 수도 있습니다.
양식과 함께 사용하는 것 외에 <search>, <resultIterate> 및 관련 태그를 사용하여 특정 항목을 나열할 수도 있습니다. 다음 샘플 코드는 사이트에서 Java Web Services에 관한 상위 10개의 기사를 나열합니다.
<s1ws:search collection="Articles" query="Java Web Services" /> <table cellspacing="0" cellpadding="3" border="0"> <tr class="Title"><td>Java Web Services</td></tr> </table> <table cellspacing="0" cellpadding="3" border="0"> <s1ws:resultIteration> <tr> <td><a href="<s1ws:item property=’URL’ />"> <s1ws:item property=’Title’/></a></td> </tr> </s1ws:resultIteration> </table>