Sun Java System Web Server 7.0 Update 3 管理員指南

自訂搜尋頁面

Sun Java System Web Server 包含一個預設搜尋應用程式,可提供基本的搜尋查詢和搜尋結果頁面。可以直接使用這些網頁,也可以進行自訂以滿足特定需要。這種自訂可以像使用其他標誌重新設置網頁一樣簡單,也可以像變更搜尋結果顯示順序一樣複雜。

預設的搜尋應用程式提供 JSP 範例,說明如何使用搜尋標籤程式庫來建立自訂搜尋介面。您可以查看 /bin/https/webapps/search 中做為應用程式範例的預設搜尋應用程式,該應用程式說明可自訂搜尋標籤的用法。

預設的搜尋介面由以下四個主要的元件構成: 頁首、頁尾、查詢表單和結果。

僅變更標籤的屬性值,即可輕鬆自訂這些基本元素。可以使用標籤程式庫完成更為詳細的自訂。

搜尋介面元件

搜尋介面包含以下元件:

標頭

標頭包括標誌、標題和簡短描述。

註腳

註腳包含版權資訊。

表單

查詢表單包含一組表示搜尋集合的核取方塊、查詢輸入方塊以及提交和說明按鈕。

結果

依預設,每頁列出 10 個結果記錄。對於每條記錄,將顯示標題、段落、大小、建立日期和 URL 等資訊。段落是頁面中反白顯示相符文字的一個短片段。

自訂搜尋查詢頁面

查詢表單包含搜尋集合的核取方塊清單、查詢輸入方塊和提交按鈕。此表單是使用 <s1ws:form> 標籤以及 <collElem><queryBox><submitButton> 標籤建立的,具有以下預設值:

<s1ws:form>
    <s1ws:collElem>
    <s1ws:queryBox> <s1ws:submitButton>
</s1ws:form>

可以將查詢表單放到頁面的任意位置:中間、側邊等。也可以用不同格式顯示查詢表單,例如使用一個橫框,其中集合選取方塊、查詢字串輸入方塊以及 [提交] 按鈕水平排列;或顯示為一個區段,其中集合顯示為核取方塊,查詢輸入方塊和 [提交] 按鈕置於下方。

以下範例顯示了如何使用 <searchForm> 標籤集來建立不同格式的查詢表單。

以水平框格式

以下程式碼範例將建立一個表單,其中包含所有集合的選取方塊、查詢輸入方塊和提交按鈕,均排在一列。

<s1ws:form>
    <table cellspacing="0" cellpadding="3" border="0">
    <tr class="navBar">
        <td class="navBar"><s1ws:collElem type=”select”></td>
        <td class="navBar">
            <s1ws:querybox size="30">
            <s1ws:submitButton class="navBar" style="padding: 0px; 
margin: 0px; width: 50px">
        </td>
    </tr>
    </table>
</s1ws:form>

以提要欄位區段格式

您可以建立一個表單區段,其中表單元素排列在一個提要欄位中,表單區段的標題為「搜尋」,使用的格式與提要欄位中其他項目的格式相同。

在下面的程式碼範例中,表單內文包含三個排成一行的核取方塊,其中列出可用的搜尋集合。查詢輸入方塊和 [提交] 按鈕置於下方:

<s1ws:searchForm>
    <table>
<!--... other sidebar items ... -->
    <tr class="Title"><td>Search</td></tr>
    <tr class="Body">
        <td>
        <table cellspacing="0" cellpadding="3" border="0">
        <tr class="formBlock">
            <td class="formBlock"> <s1ws:collElem type="checkbox" cols="1" values="1,0,1,0" /> </td>
        </tr>
        <tr class="formBlock">
            <td class="formBlock"> <s1ws:querybox size="15" maxlength="50"> </td>
        </tr>
        <tr class="formBlock">
            <td class="formBlock"> <s1ws:submitButton class="navBar" style="padding: 0px; margin: 0px; width: 50px"> </td>
        </tr>
        </table>
        </td>
    </tr>
    </table>
</s1ws:searchForm>

自訂搜尋結果頁面

搜尋結果按照以下方式產生:

僅變更標籤的屬性值,即可自訂搜尋結果頁面。

以下程式碼範例以標題列開頭,隨後顯示指定數目的記錄,最後為瀏覽位址列。標題列含有搜尋作業所使用的查詢字串,以及回傳記錄總數的範圍,如 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\\">" />
        &nbsp;<s1ws:resultStat formId="test" type="range" />
        &nbsp;<s1ws:resultNav formId="test" type="next" caption="<img border=0 src=\\"images/arrow-right.gif\\" 
alt=\\"Next\\">" />
        &nbsp; <!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’ />.&nbsp;&nbsp;
                </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>

在單獨的頁面中自訂表單和結果

如果需要將表單頁面和結果頁面分開,您必須使用 <form> 標籤集建立表單頁面,並使用 <formAction> 標籤集建立結果頁面。

需要在結果頁面中增加與表單頁面的連結,以使頁面銜接順暢。

標籤慣例

請注意以下標籤慣例:

標籤規格

Sun Java System Web Server 包括一組 JSP 標籤,可用於自訂搜尋介面中的搜尋查詢和搜尋結果頁面。

如需可用於自訂搜尋頁面的完整 JSP 標籤清單,請參閱「Sun Java System Web Server 7.0 Developer’s Guide to Web Applications」。