一、
<c:url>標簽的作用主要用來產生字符串類型的url,而不是產生一個超鏈接,注意url(統一資源定位符)與超鏈接兩個含義的區別.
<c:url value="http://www.baidu.com" />在JSP頁面中的輸出形式如下:

可以看出來這在頁面中就是個字符串,不是一個能點擊的超鏈接.
------------------------------------------------------------------------------------------------
二、要想使用這個<c:url>生成超鏈接,就必須配合HTML元素<a>使用.
例如:
<a href="
<c:url value="./testParamImported.jsp">
<c:param name="username" value="yangmu"></c:param>
<c:param name="password" value="hello"></c:param>
</c:url>
">跳轉頁面</a>
這樣的代碼在頁面中的顯示如下:

這樣形成可以點擊的超鏈接了.
--------------------------------------------------------------------------------------------------
三、
如上例,也可結合使用<c:param>標簽對<c:url>生成的url字符串追加參數
上例形成的url字符串如下:

這樣的兩個標簽結合使用就可以自動生成有效格式的url.
--------------------------------------------------------------------------------------------------
四、
<a>元素,<c:url>,<c:param>標簽 三者結合使用:

顯示結果:

點擊這個超鏈接后的結果:

--------------------------------------------------------------------------------------------------
五、可以利用var和scope屬性將<c:url>標簽生成的字符串類型url存儲在四作用域的屬性內,然后再通過EL表達式將存儲在四作用域屬性中的url取出來.

下圖是以上代碼在頁面中的顯示.

點擊鏈接后的結果:

-------------------------------------------------------------------------------------------------
六、沒有使用<c:url>標簽之前必須使用
文檔相對路徑或是
絕對路徑對目標資源進行定位,如果使用根相對路徑就會發生錯誤,具體詳見
J2EE中的絕對路徑&根相對路徑&文檔相對路徑 問題注意,但是在使用<c:url>標簽的時候就可以以Web應用的根目錄為參考點出發進行資源的定位,即
根相對路徑的使用.
例:

lightning.jpg資源定位:

使用根相對路徑定位的結果:

這樣就會自動產生鏈接到page文件夾下lightning.jpg的地址,無須再耗費時間計算圖片的相對地址.並且當域名改變的時候,也不需要改變絕對路徑.
上面圖片產生的絕對路徑如下圖:
