与URL相关的操作

时间:2018-11-15 12:57:02  来源:igfitidea点击:

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

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

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

<c:param>操作

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

<c:param>语法:

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

它有两个属性:

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

<c:import>操作

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

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

<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>示例

<%@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>操作的语法如下:

<c:redirect url="newurl" />

<c:url>操作

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

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

例如:

<%@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