核心标签库中URL相关的标签包括:<c:import>、<c:url>、<c:redirect>、<c:param>。
1:<c:param>
<c:param>标签可以嵌套在<c:import>、<c:url>或<c:redirect>标签内,为这些标签所使用的URL地址附加参数,并且自动为这些参数进行url编码。
<c:param name="" value=""/>或<c:param name="">value</c:param>
2:<c:url>
<c:url>标签用于在JSP页面中构造一个URL地址,其主要目的是实现URL重写。URL重写就是将会话标识号以参数形式附加在URL地址后面
<c:url value="http://www.baidu.com" var="url" scope="session"></c:url>
<a href="${url}">百度</a>
使用绝对路径构造URL:
<c:url value="http://localhost:8080/jstlL/register.jsp" var="myUrl1">
<c:param name="name" value="张三" />
<c:param name="country" value="${param.country}" />
</c:url>
<a href="${myUrl1}">Register1</a><hr />
使用相对当前JSP页面的路径构造URL:
<c:url value="register.jsp?name=wangwu&country=France" var="myUrl2" />
<a href="${myUrl2}">Register2</a><hr />
使用相对当前WEB应用的路径构造URL:
<c:url value="/register.jsp?name=zhaoliu&country=England" var="myUrl3" />
<a href="${myUrl3}">Register3</a>
在浏览器地址栏输入如下地址访问:http://localhost:8080/jstl/jstlTest1.jsp?country=China
3:<c:import>
<c:import>标签用于在JSP页面中导入一个URL地址指向的资源内容,其作用类似于<jsp:include>。
jstlTest1.jsp:
使用绝对路径导入资源示例:
<c:import url="http://localhost/jstl/register.jsp" var="myImport"
charEncoding="gb2312">
<c:param name="name" value="${param.name}" />
</c:import>
${myImport}
register.jsp:
<%
String name = request.getParameter("name");
out.print(name+",thank you");
%>
地址栏中输入:http://localhost:8080/jstl/jstlTest1.jsp?name=jzz,结果显示为:使用绝对路径导入资源示例: jzz,thank you
4:<c:redirect>
<c:redirect>标签用于将当前的访问请求转发或重定向到其他资源,类似于<jsp:forward>和response.sendRedirect()。
<c:url value="http://localhost:8080/jstl/register.jsp" var="myUrl1">
<c:param name="name" value="lily" />
</c:url>
<c:redirect url="${myUrl1 }"></c:redirect><!--访问本页面时跳转到register.jsp页面-->