JavaWeb——JSTL
二、核心标签库的使用
2、URL 标签
- JSTL 核心标签库中提供了一组与 URL 相关的标签,分别为:<c:import>、<c:url>、<c:redirect> 和 <c:param>,共 4 个;其中的 <c:param> 由于功能的需要,需要与其他标签配合使用。
2.1、<c:import>
- 该标签用于导入文件到 Web 页面中,与 <jsp:include> 所不同的是,该标签不单单只能引入站内文件,站外文件也可以。
- 其使用语法如下:
<c:import url="url"[context="context"][var="name"][scope="范围"][charEncoding="encoding"]> 标签体 </c:import> <c:import url="url" varReader="name"[context="context"][charEncoding="encoding"]> 标签体 </c:import>
- context:上下文路径,用于访问同个服务器的其他 Web 应用,以“/”开头;当该属性指定时,url 的值也需得以“/”开头。
- varReader:用于指定一个变量名,用于以 Reader 类型存储被包含的文件内容。
- 标签体:当需要导入的文件传递参数时,可以在标签体使用 <c:param> 标签。
- 示例如下:
- 先编写一个简单的 JSP 文件用于导入:
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <h1> 使用<c:import>标签传入的参数值为: <br> ${param.astr} </h1>
- 编写一个 JSP 使用 <c:import> 导入这个文件:
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <html> <head> <title>URL 相关标签</title> <style type="text/css"> body{ align-items: center; text-align: center; } </style> </head> <body> <c:set var="testStr" value="我在测试<c:import>功能"/> <c:import url="a_Str.jsp" charEncoding="UTF-8"> <c:param name="astr" value="${testStr}"/> </c:import> </body> </html>
- 效果如下:
2.2、<c:url>
- 该标签用于生成一个 URL 路径的字符串,该字符串可用于 <a> 标记实现 URL 的链接,或者用于网页转发和重定向等。
- 其语法如下:
<c:url value="url"[var="name"][scope="scope"][context="context"]/> <c:url value="url"[var="name"][scope="scope"][context="context"]> <c:param/> </c:url>
- 示例如下:
<c:url var="path" value="../login.jsp" scope="page"> <c:param name="name" value="御承扬"/> <c:param name="pwd" value="123456"/> </c:url> <a href="${pageScope.path}">登录页面</a>
- 效果:
- 当鼠标移动到 链接上是,浏览器提示状态信息:
2.3、<c:redirect>
- 该标签用于进行 Web 页面重定向,语法格式如下:
<c:redirect url="url"[context="context"]/> <c:redirect url="url"[context="context"]> <c:param/> </c:redirect>
- 这里就不贴出示例代码了。
- 对于 <c:param> 标签的用法已经在上面两个示例中已出现。