Sun Java System Web Server 7.0 Update 3 관리자 설명서

검색 페이지 사용자 정의

Sun Java System Web Server에는 기본 검색 쿼리 및 검색 결과 페이지를 제공하는 기본 검색 응용 프로그램이 포함되어 있습니다. 이러한 웹 페이지는 그대로 사용할 수도 있고 필요에 따라 사용자 정의할 수도 있습니다. 사용자 정의는 웹 페이지에 다른 로고를 넣는 간단한 작업이 될 수도 있고 검색 결과의 표시 순서를 변경하는 복잡한 작업이 될 수도 있습니다.

기본 검색 응용 프로그램은 검색 태그 라이브러리를 사용하여 사용자 정의 검색 인터페이스를 작성하는 방법을 보여주는 샘플 JSP를 제공합니다. 사용자 정의 검색 태그 사용을 보여주는 샘플 응용 프로그램으로 /bin/https/webapps/search에 있는 기본 검색 응용 프로그램을 살펴볼 수 있습니다.

기본 검색 인터페이스는 헤더, 바닥글, 쿼리 양식, 결과의 네 가지 구성 요소로 이루어집니다.

이런 기본 요소는 태그의 속성 값만 변경하여 쉽게 사용자 정의할 수 있습니다. 태그 라이브러리를 사용하면 좀 더 자세한 사용자 정의가 가능합니다.

검색 인터페이스 구성 요소

검색 인터페이스는 다음 구성 요소로 이루어집니다.

Header

헤더에는 로고, 제목 및 짧은 설명이 포함됩니다.

Footer

바닥글에는 저작권 정보가 포함됩니다.

Form

쿼리 양식에는 검색 모음, 쿼리 입력 상자, 제출 및 도움말 버튼을 나타내는 일련의 확인란이 포함되어 있습니다.

Results

결과는 기본적으로 페이지당 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>

세로 막대 블록에서

양식 요소를 세로 막대에 정렬할 수 있으며 세로 막대의 다른 항목과 같은 형식을 사용한 "Search"라는 제목이 있는 양식 블록을 만들 수 있습니다.

아래의 샘플 코드에서 양식 본문에는 사용 가능한 검색 모음을 나열하며 한 열로 정렬된 세 개의 확인란이 포함됩니다. 아래에는 쿼리 입력 상자와 제출 버튼이 배치됩니다.

<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)가 표시됩니다. 각 레코드의 경우 레코드 섹션에는 파일에 대한 링크와 함께 제목이 표시되고, 최대 3구절까지 키워드가 강조 표시된 상태로 표시되며, URL, 작성 날짜 및 문서 크기 등이 표시됩니다.

섹션의 끝에 있는 검색 표시줄은 이전 및 다음 페이지에 대한 링크와 현재 페이지 앞뒤로 최대 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\\">" />
        &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 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>

별도 페이지의 양식 및 결과 사용자 정의

양식 및 결과 페이지를 분리하려면 <form> 태그 집합을 사용하여 양식 페이지를 만들고 <formAction> 태그 세트를 사용하여 결과 페이지를 만들어야 합니다.

페이지의 원활한 흐름을 위해서는 결과 페이지에 양식 페이지에 대한 링크를 추가해야 합니다.

태그 규약

다음 태그 규약에 주의하십시오.

태그 사양

Sun Java System Web Server에는 검색 인터페이스에서 검색 쿼리와 검색 결과 페이지를 사용자 정의하는 데 사용할 수 있는 일련의 JSP 태그가 포함되어 있습니다.

검색 페이지를 사용자 정의하는 데 사용할 수 있는 전체 JSP 태그 목록은 Sun Java System Web Server 7.0 Developer’s Guide to Web Applications를 참조하십시오.