2012-10-03 4 views
0

브라우저 주소 표시 줄의 페이지 URL이 "검색"으로 끝나는 경우 특수 조건을 만들어야합니다. 내 .jpsf 파일에서, 나는 지금까지이 코드를 가지고 :조건이 일치하면 URL의 일부분과 출력 값을 어떻게 찾을 수 있습니까?

<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> 

나는 URL이 단어 검색이 포함 된 경우 감지 할 SOMETHINGHERE 절에서 무엇을 할 수 있나요? 여기에서 게시물을 탐색하고 Google에서 검색하는 것은 지금까지 작동하는 답변을 찾지 못했습니다.

또한 <% String currentPDP = request.getParameter("search")%> 을 추가하려고 시도했지만 _Search가 매개 변수로 올바르게 설정되지 않았고 (URL 끝 부분에 하드 코딩 됨) 코드의 형식이 잘못되어 아마도 500 오류가 반환되었습니다.

저는 JSP에 익숙하지 않아 직업에 대해 배워야하므로 인내심과 도움을 주시면 감사하겠습니다. 감사합니다.

+0

끝에 콜론이 없어서 request.getParameter()가 작동하지 않을 수 있습니다. –

답변

0

먼저 당신이 가진 기능 태그를 가져올 것 : 그런 다음

<%@ 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.jsp 인 경우 responseURL/site/search.jsp을 반환해야합니다. 위의 예는 '검색'이 URI 문자열에 있기 때문에 두 번째 경우에서 true를 반환합니다 (첫 번째 문자는 대문자로 인해 실패합니다).

다른 검사가 필요한 쿼리 매개 변수는 포함되지 않습니다.

+0

불행히도 이것은 아무 것도하지 않습니다 ... 확실하지 않은 이유. JSP 파일 맨 위에 import Functions 코드 조각을 놓은 다음 $ {fn : containsIgnoreCase (pageContext.request.requestURI, 'Search')}를 테스트에 넣었지만 작동하지 않습니다. – surfbird0713

+0

어제 저는 requestURI로 다른 작업을 수행하려고 시도했으나 브라우저의 실제 URL이 아닌 .JSP 파일의 이름 만 가져 왔습니다. 그게 효과가없는 이유일까요? 를 출력하면 – surfbird0713

+0

이 표시됩니까? – jcern

관련 문제