标签的主要作用是按照特定的重写规则重新构造URL,它的基本语法为:
- url
value="原始URL" var="存放新的URL的命名变量" - scope="{page|request|session|application}"
/>
标签把重新生成的URL存放在var属性指定的命名变量中,并且scope属性指定命名变量的范围,它的默认值为page(页面范围)。
例如以下标签在页面范围内创建一个myurl命名变量,它的值为"dir2/target.jsp":
- <<c:url
value="dir2/target.jsp" var="myurl" />
例如以下标签中的value属性以"/"开头,标签会在重新生成的URL中加上当前Web应用的根路径,因此myurl命名变量的值为"/helloapp/dir1/dir2/ target.jsp":
- <<c:url
value="/dir1/dir2/target.jsp" var="myurl" /> - <<a
href="${myurl}" >target.jsp </a>
在标签中可以包含子标签,用于设定请求参数,例如以下标签包含两个子标签,它们分别用于设定username请求参数和description请求参数:
- c:url
value="/dir1/dir2/target.jsp" var="myurl" > -
c:param name="username" value="Tom" /> -
c:param name="description" value="Age>10&Age<30" /> - </c:url>
-
- <<a
href="${myurl}" >target.jsp </a>
<td>
<%--<a href="${pageContext.request.contextPath }/fileServlet?method=down&..">下载</a>--%>
<span style="color:#404040;"> </span><span style="color:#ff0000;"> 相当于下面:为了解决路径太长问题</span><span style="color:#404040;">
<!-- 构建一个地址 -->
<c:url var="url" value="fileServlet">
<c:param name="method" value="down"></c:param>
<c:param name="fileName" value="${en.key}"></c:param>
</c:url>
<!-- 使用上面地址 -->
<a href="${url }">下载</a> </span>
</td>