<c:url> टैग एक URL को स्ट्रिंग में फॉर्मेट करता है और इसे एक वेरिएबल में संग्रहीत करता है। यह टैग आवश्यक होने पर स्वचालित रूप से URL रीराइटिंग करता है। var एट्रिब्यूट उस वेरिएबल को निर्दिष्ट करता है जिसमें फॉर्मेटेड URL होगा।
JSTL url टैग response.encodeURL() मेथड को कॉल करने का सिर्फ एक वैकल्पिक तरीका है। url टैग द्वारा प्रदान किया गया एकमात्र वास्तविक लाभ उचित URL एन्कोडिंग है, जिसमें चाइल्ड param टैग द्वारा निर्दिष्ट पैरामीटर्स शामिल हैं।
एट्रिब्यूट्स
<c:url> टैग में निम्नलिखित एट्रिब्यूट्स होते हैं:
| एट्रिब्यूट | विवरण | आवश्यक | डिफ़ॉल्ट |
|---|---|---|---|
| value | बेस URL | हाँ | कोई नहीं |
| context | / के बाद स्थानीय वेब एप्लिकेशन का नाम | नहीं | वर्तमान एप्लिकेशन |
| var | प्रोसेस्ड URL को उजागर करने के लिए वेरिएबल का नाम | नहीं | पेज पर प्रिंट करें |
| scope | प्रोसेस्ड URL को उजागर करने के लिए वेरिएबल का स्कोप | नहीं | page |
उदाहरण
<%@ taglib uri="https://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<head>
<title><c:url> Tag Example</title>
</head>
<body>
<a href="<c:url value="/jsp/index.htm"/>">TEST</a>
</body>
</html>
यह निम्न परिणाम उत्पन्न करेगा:
TEST
(हाइपरलिंक में सत्र ट्रैकिंग के लिए उचित एन्कोडेड URL होगा यदि कुकीज़ अक्षम हैं)।
उन्नत उपयोग
पैरामीटर्स के साथ
<c:url value="/search" var="searchUrl">
<c:param name="q" value="jsp tutorial"/>
<c:param name="page" value="1"/>
</c:url>
<a href="${searchUrl}">Search</a>
परिणाम: /search?q=jsp+tutorial&page=1 (सत्र आईडी के साथ एन्कोडेड यदि आवश्यक हो)।
अन्य संदर्भ के लिए
<c:url value="/admin/dashboard" context="/myapp" var="adminUrl"/>
लाभ
- स्वचालित URL रीराइटिंग: कुकीज़ अक्षम होने पर सत्र आईडी जोड़ता है।
- उचित एन्कोडिंग: पैरामीटर मानों को URL-एन्कोड करता है।
- संदर्भ-जागरूक: विभिन्न वेब ऐप्स के लिए
contextएट्रिब्यूट का समर्थन करता है। - वेरिएबल संग्रहण: बाद में उपयोग के लिए
var/scopeमें URL संग्रहीत करता है।