搜尋結果按照以下方式產生:
<formAction> 標籤擷取所有表單元素的值並進行基本驗證。
<search> 標籤、<resultIteration> 標籤和其他標籤都存在於 <formAction> 標籤中,可存取所有表單元素的值。
<search> 標籤透過 <formAction> 使用查詢字串和集合來執行搜尋,並將搜尋結果儲存在 pageContext 中。
<resultIteration> 標籤隨後將擷取結果集並重複運算。
僅變更標籤的屬性值,即可自訂搜尋結果頁面。
以下程式碼範例以標題列開頭,隨後顯示指定數目的記錄,最後為瀏覽位址列。標題列含有搜尋作業所使用的查詢字串,以及回傳記錄總數的範圍,如 1– 10。每一筆記錄的記錄區段都會顯示含有檔案連結的標題,其中多達三個段落含有反白顯示的關鍵字:文件的 URL、建立日期與大小。
在該區段的末尾處,瀏覽位址列與上一頁和下一頁的連結,以及與目前頁之前和之後八個其他頁面的直接連結。
<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 服務的文章:
<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>