首页 > 代码库 > <c:url>标签相关知识点

<c:url>标签相关知识点

一、

<c:url>标签的作用主要用来产生字符串类型的url,而不是产生一个超链接,注意url(统一资源定位符)与超链接两个含义的区别.

<c:url value="http://www.baidu.com" />在JSP页面中的输出形式如下:
【原】<c:url>标签相关知识点
可以看出来这在页面中就是个字符串,不是一个能点击的超链接.
------------------------------------------------------------------------------------------------
二、要想使用这个<c:url>生成超链接,就必须配合HTML元素<a>使用.
例如:
 
<a href="http://www.mamicode.com/
  <c:url value="http://www.mamicode.com/testParamImported.jsp">
  <c:param name="username" value="http://www.mamicode.com/yangmu"></c:param>
  <c:param name="password" value="http://www.mamicode.com/hello"></c:param>
  </c:url>
">跳转页面</a>
 
这样的代码在页面中的显示如下:
【原】<c:url>标签相关知识点
这样形成可以点击的超链接了.
--------------------------------------------------------------------------------------------------
三、
如上例,也可结合使用<c:param>标签对<c:url>生成的url字符串追加参数
上例形成的url字符串如下:
【原】<c:url>标签相关知识点

这样的两个标签结合使用就可以自动生成有效格式的url.
--------------------------------------------------------------------------------------------------
四、
<a>元素,<c:url>,<c:param>标签 三者结合使用:
【原】<c:url>标签相关知识点
显示结果:
【原】<c:url>标签相关知识点
点击这个超链接后的结果:
【原】<c:url>标签相关知识点

--------------------------------------------------------------------------------------------------
五、可以利用var和scope属性将<c:url>标签生成的字符串类型url存储在四作用域的属性内,然后再通过EL表达式将存储在四作用域属性中的url取出来.
【原】<c:url>标签相关知识点

下图是以上代码在页面中的显示.
【原】<c:url>标签相关知识点
点击链接后的结果:
【原】<c:url>标签相关知识点

-------------------------------------------------------------------------------------------------
六、没有使用<c:url>标签之前必须使用文档相对路径或是绝对路径对目标资源进行定位,如果使用根相对路径就会发生错误,具体详见J2EE中的绝对路径&根相对路径&文档相对路径 问题注意,但是在使用<c:url>标签的时候就可以以Web应用的根目录为参考点出发进行资源的定位,即根相对路径的使用.
例:
【原】<c:url>标签相关知识点
lightning.jpg资源定位:
【原】<c:url>标签相关知识点
使用根相对路径定位的结果:
【原】<c:url>标签相关知识点

这样就会自动产生链接到page文件夹下lightning.jpg的地址,无须再耗费时间计算图片的相对地址.并且当域名改变的时候,也不需要改变绝对路径.
上面图片产生的绝对路径如下图:
【原】<c:url>标签相关知识点