0

ブラウザのアドレス バーのページ URL が「検索」で終わる場合、特別な条件を作成する必要があります。私の .jpsf ファイルには、これまでのところ次のコードがあります。

<c:choose>
    <c:when test="${SOMETHINGHERE eq 'Search'}">
        <c:out value="Search" />
    </c:when>
    <c:otherwise>
        <c:out value="${topCat}" />|<c:out value="${subCatA}" />|<c:out value="${subCatB}" />|<c:out value="${subCatC}" />
    </c:otherwise>
</c:choose>

SOMETHINGHEREURL に検索という単語が含まれているかどうかを検出するには、セクションに何を入力すればよいですか? ここで投稿を閲覧し、Google で検索しても、これまでのところ有効な回答は得られませんでした。

追加も試みまし<% String currentPDP = request.getParameter("search")%> たが、500 エラーが返されました。おそらく、_Search がパラメーターとして適切に設定されておらず (URL の末尾にハードコードされています)、コードが適切にフォーマットされていないためです。

私は JSP に不慣れで、仕事で学ばなければなりません。ご理解とご協力をお願いいたします。よろしくお願いします。

4

1 に答える 1

0

まず、次の機能を使用してFunctionsタグをインポートします。

<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>

次に、次を使用できます。

${fn:contains(pageContext.request.requestURI, 'Search')}

または、ケースを気にしない場合

${fn:containsIgnoreCase(pageContext.request.requestURI, 'Search')}

これにより、URIで用語を検索できるようになりますSearch

実行中のスクリプトへの完全なURLがだった場合はhttp://www.example.com/site/search.jspresponseURLを返す必要があり/site/search.jspます。'Search'がURI文字列に含まれているため、上記の例は2番目のケースでtrueを返します(最初の例は大文字化のために失敗します)。

別のチェックを伴うクエリパラメータは含まれていません。

于 2012-10-03T20:14:32.887 に答える