jstl标签怎么获得contextpath
时间: 2024-04-30 08:21:37 浏览: 8
在JSP页面中,可以使用JSTL标签库中的<c:url>标签来获取contextPath。
例如:
```html
<c:url value="/" var="contextPath"/>
```
这将把当前应用程序的上下文路径存储在名为"contextPath"的变量中。你可以在后续代码中使用这个变量来引用上下文路径。
例如,如果你需要在页面中创建一个链接到应用程序的主页,可以使用以下代码:
```html
<a href="${contextPath}/index.jsp">Home</a>
```
这将生成一个指向"/index.jsp"的链接,其中"/"是应用程序的上下文路径。
相关问题
<tr> <td> <a href="${pageContext.request.contextPath}/users/show" class="searchBtn" keywordsId="-1">全部</a> </td> </tr> <c:forEach items="${applicationScope.keywordsList}" var="keyword"> <tr class="type"> <td> <a href="${pageContext.request.contextPath}/users/show" class="searchBtn" keywordsId="${keyword.keywordsId}"> ${keyword.keywordsName} </a> </td> </tr> </c:forEach>
这是一个 JSP 页面中的 HTML 代码,使用了 JSTL 标签库(即 `<c:forEach>` 标签)和 EL 表达式(`${}`)来动态生成 HTML 元素。具体来说,它生成了一个表格,表格中有一行标题(全部),以及多行数据,每行数据都包含一个链接,链接的文本为 `${keyword.keywordsName}`,链接的目标 URL 为 `${pageContext.request.contextPath}/users/show`,其中 `${keyword.keywordsId}` 和 `-1` 分别作为链接的参数。这段代码的作用是生成一个关键词列表,用户可以点击关键词来筛选搜索结果。
listfile.jsp页面如下: <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <!DOCTYPE HTML> <html> <head> <title>下载文件显示页面</title> </head> <body> <!-- 遍历Map集合 --> <c:forEach var="me" items="${fileNameMap}"> <c:url value="${pageContext.request.contextPath}/servlet/DownLoadServlet" var="downurl"> <c:param name="filename" value="${me.key}"></c:param> </c:url> ${me.value}<a href="${downurl}">下载</a> <br/> </c:forEach> </body> </html> 将<!-- 遍历Map集合 --> <c:forEach var="me" items="${fileNameMap}"> <c:url value="${pageContext.request.contextPath}/servlet/DownLoadServlet" var="downurl"> <c:param name="filename" value="${me.key}"></c:param> </c:url> ${me.value}<a href="${downurl}">下载</a> <br/> </c:forEach>修改成类似<form action="${pageContext.request.contextPath}/servlet/UploadHandleServlet" enctype="multipart/form-data" method="post"> <input type="submit" value="下载">的类型,点击<input type="submit" value="下载">按钮,要跳转到用于处理文件下载的Servlet,DownLoadServlet,即${pageContext.request.contextPath}/servlet/DownLoadServlet,要完整代码
以下是修改后的代码:
<form action="${pageContext.request.contextPath}/servlet/DownLoadServlet" method="post">
<c:forEach var="me" items="${fileNameMap}">
<input type="hidden" name="filename" value="${me.key}">
${me.value} <br/>
</c:forEach>
<input type="submit" value="下载">
</form>
注意修改了form标签的action属性,将其指向处理文件下载的Servlet,同时添加了一个隐藏的input标签,用于传递文件名参数。在循环中输出文件名,并添加换行符,方便阅读。最后添加了一个下载按钮,点击后提交表单,跳转到DownLoadServlet进行文件下载处理。