如果浏览器地址栏中的页面网址以“搜索”结尾,我需要创建一个特殊条件。在我的.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>
我可以在SOMETHINGHERE
部分放置什么来检测网址是否包含搜索字词?在这里浏览帖子并在Google上搜索并没有让我得到任何有效的答案。
我还尝试添加<% String currentPDP = request.getParameter("search")%>
但是它返回了500错误,可能是因为_Search未正确设置为参数(它在URL末尾硬编码)并且代码格式不正确。
我是JSP的新手,必须在工作中学习,所以我感谢您的耐心和任何帮助。谢谢你。
答案 0 :(得分: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')}
这将允许您搜索术语Search
的URI。
如果正在运行的脚本的完整网址为http://www.example.com/site/search.jsp
,则responseURL
应返回/site/search.jsp
。上面的例子在第二种情况下会返回true,因为'Search'在URI字符串中(第一种因大写而失败)。
它不包含查询参数,这将涉及不同的检查。