<c:out> टैग एक एक्सप्रेशन का परिणाम प्रदर्शित करता है। यह <%= %> के काम करने के तरीके के लगभग समान है। अंतर यह है कि <c:out> टैग आपको प्रॉपर्टीज तक पहुंचने के लिए सरल "." नोटेशन का उपयोग करने देता है। उदाहरण के लिए, customer.address.street तक पहुंचने के लिए, टैग <c:out value="customer.address.street"/> का उपयोग करें।
<c:out> टैग XML टैग्स को स्वचालित रूप से एस्केप कर सकता है ताकि उन्हें वास्तविक टैग्स के रूप में मूल्यांकन न किया जाए।
एट्रिब्यूट्स
<c:out> टैग में निम्नलिखित एट्रिब्यूट्स होते हैं:
| एट्रिब्यूट | विवरण | आवश्यक | डिफ़ॉल्ट |
|---|---|---|---|
| value | आउटपुट की जाने वाली जानकारी | हाँ | कोई नहीं |
| default | फॉलबैक जानकारी आउटपुट करने के लिए | नहीं | बॉडी |
| escapeXml | यदि टैग को विशेष XML कैरेक्टर्स को एस्केप करना चाहिए तो true | नहीं | true |
उदाहरण
<%@ taglib uri="https://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<head>
<title><c:out> Tag Example</title>
</head>
<body>
<c:out value="${'<tag> , &'}" />
</body>
</html>
आउटपुट
<tag> , &
मुख्य लाभ
- XSS सुरक्षा: डिफ़ॉल्ट रूप से XML/HTML विशेष कैरेक्टर्स (<, >, &, ", ') को एस्केप करता है।
- EL समर्थन:
${expr}सिंटैक्स के साथ निर्बाध रूप से काम करता है। - नल हैंडलिंग:
defaultएट्रिब्यूट या बॉडी कंटेंट नल/खाली मान के लिए फॉलबैक प्रदान करता है। - नेस्टेड प्रॉपर्टीज:
customer.address.cityजैसी डॉट नोटेशन का समर्थन करता है।
तुलना
| विशेषता | <%= %> | <c:out> |
|---|---|---|
| एक्सप्रेशन भाषा | केवल जावा | EL (${}) + जावा |
| XML एस्केपिंग | मैन्युअल | स्वचालित (डिफ़ॉल्ट) |
| नल हैंडलिंग | "null" प्रिंट करता है | डिफ़ॉल्ट/बॉडी दिखाता है |
| नेस्टेड प्रॉपर्टीज | नहीं | हाँ (डॉट नोटेशन) |