<c:redirect> टैग ब्राउज़र को वैकल्पिक URL पर रीडायरेक्ट करता है, स्वचालित URL रीराइटिंग की सुविधा देता है, यह संदर्भ-सापेक्ष URLs का समर्थन करता है, और <c:param> टैग का भी समर्थन करता है।
एट्रिब्यूट्स
<c:redirect> टैग में निम्नलिखित एट्रिब्यूट्स होते हैं:
| एट्रिब्यूट | विवरण | आवश्यक | डिफ़ॉल्ट |
|---|---|---|---|
| url | उपयोगकर्ता के ब्राउज़र को रीडायरेक्ट करने के लिए URL | हाँ | कोई नहीं |
| context | / के बाद स्थानीय वेब एप्लिकेशन का नाम | नहीं | वर्तमान एप्लिकेशन |
उदाहरण
यदि आपको <c:import> टैग में पैरामीटर्स पास करने की आवश्यकता है, तो पहले URL बनाने के लिए <c:url> टैग का उपयोग करें जैसा कि नीचे दिखाया गया है:
<%@ taglib uri="https://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<head>
<title><c:redirect> Tag Example</title>
</head>
<body>
<c:redirect url="https://www.photofuntoos.com"/>
</body>
</html>
उपरोक्त कोड रिक्वेस्ट को https://www.photofuntoos.com पर रीडायरेक्ट करेगा - इसे स्वयं आज़माएं।
मुख्य विशेषताएं
- क्लाइंट-साइड रीडायरेक्ट: HTTP 302 रिस्पॉन्स भेजता है (sendRedirect के समान)।
- URL रीराइटिंग: आवश्यकता होने पर सत्र आईडी स्वचालित रूप से जोड़ता है।
- संदर्भ-सापेक्ष:
context="/otherapp"अन्य वेब ऐप पर रीडायरेक्ट के लिए। - पैरामीटर समर्थन: नेस्टेड
<c:param>टैग्स के साथ काम करता है।
तुलना
| विशेषता | <c:redirect> | response.sendRedirect() |
|---|---|---|
| सिंटैक्स | घोषणात्मक (टैग) | प्रोग्रामेटिक (स्क्रिप्टलेट) |
| URL रीराइटिंग | स्वचालित | मैन्युअल (encodeRedirectURL) |
| पैरामीटर्स | <c:param> के माध्यम से | मैन्युअल स्ट्रिंग बिल्डिंग |
| संदर्भ-सापेक्ष | हाँ (context एट्रिब्यूट) | नहीं (पूर्ण URL आवश्यक) |
सर्वोत्तम अभ्यास
- JSP पेज में घोषणात्मक रीडायरेक्ट के लिए
<c:redirect>पसंद करें। - जटिल तर्क/शर्तों के लिए
sendRedirect()का उपयोग करें। - POST रिक्वेस्ट के बाद दोबारा सबमिशन रोकने के लिए हमेशा रीडायरेक्ट करें (PRG पैटर्न)।