与URL相关的操作


在web应用程序开发中,经常需要操作URL,如:

  • 获取要显示的网页内容。
  • 将用户重定向到另一个URL。

JSTL提供了几个有用的URL相关操作来简化URL操作。

<c:param>操作

<c:param>操作用于定义参数。<c:param>经常在其他动作操作中使用,比如<c:import><c:url>,<c:rediect>

<c:param>语法:

1
<c:param name="paramName" value="value" />

它有两个属性:

  • name:参数名称。
  • value:指定参数的值。

<c:import>操作

<c:import>操作用于获取另一个URL的内容,并在JSP页面中处理它。

<c:import>操作的语法如下:

1
2
3
4
5
6
7
<c:import url = "url"
[context = "context "]
[var = "varName"
[scope="{page|request|session|application}"]
[charEncoding="charEncoding"]>
<%-- <c:param>子标签的可选body内容 --%>
</c:import>

其中只有URL属性是必需的,URL可以是绝对的,也可以是相对的。
如果它是一个相对URL,则您所引用的资源必须位于web应用程序内部。

<c:import>的body块中, 还可以使用<c:param>来定义参数。

<c:import>示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<%@page contentType="text/html"
pageEncoding="UTF-8"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core"
prefix="c" %>
<html>
<head>
<title>The c:import Action</title>
</head>
<body>
<c:import url="person.xml" var="person">
</c:import>
 
<textarea cols="40" rows="15">
<c:out value="${person}" />
</textarea>
</body>
</html>

<c:redirect>操作

<c:redirect>操作只是简单的把页面从当前URL重定向到另一个URL。

<c:redirect>操作的语法如下:

1
<c:redirect url="newurl" />

<c:url>操作

<c:url>操作用于生成完整有效的url。

<c:url>操作中,您可以使用多个<c:param>来构造url。

例如:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<%@page contentType="text/html"
pageEncoding="UTF-8"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core"
prefix="c" %>
<html>
<head>
<title>c:url操作</title>
</head>
<body>
<a href="<c:url value="http://localhost/JSTLDemo/index.jsp">
<c:param name="search" value="itroad" />
</c:url>">c:url操作示例</a>
</body>
</html>

这样我们就构造了一个链接:http://localhost/JSTLDemo/index.jsp?search=itroad


原文链接:https://codingdict.com/