जेएसपी एक्शन टैग
⚡ स्मार्ट सारांश
JSP एक्शन टैग सर्वलेट इंजन के व्यवहार को नियंत्रित करने के लिए XML सिंटैक्स का उपयोग करते हैं, जिससे डेवलपर्स फाइलों को शामिल कर सकते हैं, अनुरोधों को अग्रेषित कर सकते हैं और उनके साथ काम कर सकते हैं। Javaअनुरोध प्रसंस्करण के दौरान बीन्स का उपयोग करें और गतिशील सामग्री को एम्बेड करें।

JSP एक्शन टैग क्या है?
JSP एक्शन टैग सर्वलेट इंजन के व्यवहार को नियंत्रित करने के लिए XML सिंटैक्स संरचनाओं का उपयोग करते हैं। डेवलपर गतिशील रूप से एक फ़ाइल सम्मिलित कर सकते हैं, उसका पुन: उपयोग कर सकते हैं। Javaबीन कंपोनेंट्स उपयोगकर्ता को दूसरे पेज पर भेजते हैं और JSP एक्शन टैग्स जैसे कि include और forward के माध्यम से समान रनटाइम ऑपरेशन करते हैं। डायरेक्टिव्स के विपरीत, एक्शन टैग्स को हर बार पेज एक्सेस होने पर दोबारा इवैल्यूएट किया जाता है, जो उन्हें रिक्वेस्ट प्रोसेसिंग के दौरान डायनामिक व्यवहार के लिए आदर्श बनाता है।
सिंटेक्स:
<jsp:action_name attribute="value" />
जेएसपी स्टैंडर्ड एक्शन टैग्स पर आधारित इस ट्यूटोरियल में, आप सीखेंगे कि प्रत्येक एक्शन टैग कैसे काम करता है, यह क्या करता है और इसे वास्तविक जेएसपी फ़ाइल में कैसे लागू किया जाता है।
JSP में आमतौर पर इस्तेमाल होने वाले एक्शन टैग्स की सूची
JSP में 11 प्रकार के मानक एक्शन टैग हैं, और यहां उनकी पूरी सूची दी गई है।
| एक्शन टैग नाम | वाक्य - विन्यास | विवरण |
|---|---|---|
| जेएसपी:useBean | JSP पृष्ठ में बीन्स को आमंत्रित करने और उपयोग करने के लिए उपयोग किया जाता है। | |
| जेएसपी:शामिल करें | <jsp:include page=”page URL” flush=”true/false” /> | अनुरोध प्रसंस्करण के दौरान वर्तमान फ़ाइल में एक अन्य JSP फ़ाइल शामिल करता है। |
| jsp:सेटप्रॉपर्टी | बीन का गुणधर्म निर्धारित करता है। | |
| जेएसपी: getProperty | किसी बीन के गुण को पुनः प्राप्त करता है और उसे आउटपुट के लिए स्ट्रिंग में परिवर्तित करता है। | |
| जेएसपी: आगे | अनुरोध को किसी अन्य JSP या स्थैतिक पृष्ठ पर अग्रेषित करता है। | |
| जेएसपी:प्लगइन | द्वारा प्रस्तुत Java यह एप्लेट्स या बीन्स जैसे घटकों को JSP में जोड़ता है और स्वचालित रूप से टैग उत्पन्न करता है। | |
| जेएसपी:बॉडी | अनुरोध प्रसंस्करण के दौरान गतिशील रूप से उत्पन्न होने वाले XML तत्वों को परिभाषित करता है। | |
| जेएसपी:पाठ | टेम्पलेट पाठ | JSP पृष्ठों में टेम्पलेट पाठ सम्मिलित करने के लिए उपयोग किया जाता है, जिसमें केवल पाठ और EL अभिव्यक्तियाँ होती हैं। |
| जेएसपी:पैरामीटर | अतिरिक्त डेटा जोड़ने के लिए jsp:plugin क्रिया के अंतर्गत पैरामीटर पास करता है। | |
| jsp:विशेषता | गतिशील रूप से उत्पन्न XML विशेषताओं को परिभाषित करता है। | |
| जेएसपी:आउटपुट | आउटपुट में उपयोग किए जाने वाले XML या DOCTYPE घोषणा को निर्दिष्ट करता है। |
अब जबकि आपके पास पूरी सूची है, हम सिंटैक्स और एक कार्यशील उदाहरण के साथ इनमें से प्रत्येक जेएसपी एक्शन टैग का एक-एक करके विश्लेषण करेंगे।
jsp:useBean एक्शन टैग
- इस क्रिया नाम का उपयोग तब किया जाता है जब आप इसका उपयोग करना चाहते हैं। Javaजेएसपी पेज में बीन्स।
- इस टैग की मदद से आप आसानी से बीन को कॉल कर सकते हैं और सर्वर-साइड कंपोनेंट्स का पुन: उपयोग कर सकते हैं।
jsp:useBean का सिंटैक्स:
<jsp:useBean id="" class="" />
यहां id इस बीन के लिए पहचानकर्ता निर्दिष्ट करता है और class बीन क्लास का पूरा पथ है।
उदाहरण:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Action JSP1</title> </head> <body> <jsp:useBean id="name" class="demotest.DemoClass"> </body> </html>
कोड का स्पष्टीकरण:
Code रेखा 10: उपरोक्त कोड में, आप बीन की "बीन आईडी" और "क्लास पाथ" का उपयोग करते हैं।
jsp:include एक्शन टैग
- jsp:include का उपयोग अनुरोध प्रसंस्करण के दौरान एक JSP फ़ाइल को दूसरी फ़ाइल में सम्मिलित करने के लिए किया जाता है, जो कि 'include' के समान है। निर्देशों.
- इसे अनुरोध प्रसंस्करण चरण के दौरान जोड़ा जाता है, जिसका अर्थ है कि पृष्ठ का अनुरोध किए जाने पर प्रत्येक बार शामिल सामग्री का मूल्यांकन किया जाता है।
jsp:include का सिंटैक्स:
<jsp:include page="page URL" flush="true/false">
उदाहरण:
Action_jsp2 में (Code पंक्ति 10), हम एक date.jsp फ़ाइल शामिल कर रहे हैं।
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Date Guru JSP</title> </head> <body> <jsp:include page="date.jsp" flush="true" /> </body> </html>
दिनांक.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Insert title here</title> </head> <body> <p> Today's date: <%= new java.util.Date().toLocaleString()%> </p> </body> </html>
कोड का स्पष्टीकरण:
एक्शन_jsp2.jsp
Code रेखा 10: पहली फाइल में, हम date.jsp फाइल को action_jsp2.jsp में शामिल कर रहे हैं।
दिनांक.jsp:
Code रेखा 11: हम date.jsp फ़ाइल की कोड लाइन 11 में आज की तारीख प्रिंट कर रहे हैं।
जब आप कोड को निष्पादित करते हैं, तो निम्नलिखित आउटपुट प्राप्त होता है।
आउटपुट:
- यह आज की तारीख और समय प्रदर्शित करता है क्योंकि तारीख वाली फ़ाइल मुख्य JSP पेज में शामिल है।
jsp:setProperty एक्शन टैग
- JSP में इस मानक क्रिया का उपयोग बीन की प्रॉपर्टी को सेट करने के लिए किया जाता है।
- प्रॉपर्टी सेट करने से पहले आपको एक बीन को परिभाषित करना होगा।
सिंटेक्स:
<jsp:setProperty name="" property="" >
यहां, नाम उस बीन को परिभाषित करता है जिसकी प्रॉपर्टी सेट की जा रही है, और प्रॉपर्टी वह प्रॉपर्टी है जिसे आप सेट करना चाहते हैं। आप वैल्यू और पैरामीटर एट्रिब्यूट भी सेट कर सकते हैं। यहां वैल्यू अनिवार्य नहीं है, और यह उस मान को परिभाषित करता है जो प्रॉपर्टी को असाइन किया जाता है। यहां पैरामीटर अनुरोध पैरामीटर का नाम है जिसका उपयोग करके मान प्राप्त किया जा सकता है। नीचे getProperty के साथ setProperty का उदाहरण दिखाया जाएगा।
jsp:getProperty एक्शन टैग
- इस क्रिया का उपयोग बीन के गुणधर्म को प्राप्त करने के लिए किया जाता है।
- यह प्रॉपर्टी को स्ट्रिंग में परिवर्तित करता है और अंत में इसे आउटपुट में सम्मिलित करता है।
सिंटेक्स:
<jsp:getProperty name="" property="" >
यहां, नाम उस बीन को दर्शाता है जिससे प्रॉपर्टी प्राप्त करनी है, और बीन को परिभाषित किया जाना चाहिए। प्रॉपर्टी एट्रिब्यूट उस बीन प्रॉपर्टी का नाम है जिसे प्राप्त करना है।
setProperty और getProperty का उदाहरण:
टेस्टबीन.जावा:
package demotest; import java.io.Serializable; public class TestBean implements Serializable{ private String msg = "null"; public String getMsg() { return msg; } public void setMsg(String msg) { this.msg = msg; } }
एक्शन_jsp3.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Guru Action 3</title> </head> <body> <jsp:useBean id="GuruTest" class="demotest.TestBean" /> <jsp:setProperty name="GuruTest" property="msg" value="GuruTutorial" /> <jsp:getProperty name="GuruTest" property="msg" /> </body> </html>
कोड का स्पष्टीकरण:
टेस्टबीन.जावा:
Code रेखा 5TestBean, Serializable क्लास को इम्प्लीमेंट कर रहा है। यह एक बीन क्लास है जिसमें गेटर्स और सेटर्स कोड में मौजूद हैं।
Code रेखा 7यहां हम निजी स्ट्रिंग वेरिएबल msg को "null" मान रहे हैं।
Code लाइन 9-14यहां हम "msg" वेरिएबल के गेटर्स और सेटर्स का उपयोग कर रहे हैं।
एक्शन_jsp3.jsp
Code रेखा 10: यहां हम "useBean" टैग का उपयोग कर रहे हैं, जो उस बीन (TestBean) को निर्दिष्ट करता है जिसका उपयोग इस JSP क्लास में किया जाना है।
Code रेखा 11: यहां हम TestBean बीन के लिए msg प्रॉपर्टी का मान " के रूप में सेट कर रहे हैं।Guruट्यूटोरियल”।
Code रेखा 12: यहां, getProperty का उपयोग करके, हम TestBean बीन के लिए msg प्रॉपर्टी का मान प्राप्त कर रहे हैं।Guruट्यूटोरियल), जो आउटपुट में दिखाया गया है।
जब आप उपरोक्त कोड निष्पादित करते हैं, तो आपको निम्नलिखित आउटपुट मिलता है:
आउटपुट:
इस उदाहरण में, TestBean का उपयोग करते हुए, हम setProperty का उपयोग करके "msg" प्रॉपर्टी को सेट कर रहे हैं और getProperty का उपयोग करके प्रॉपर्टी का मान प्राप्त कर रहे हैं।Guruट्यूटोरियल”।
jsp:forward एक्शन टैग
jsp:forward एक्शन टैग का उपयोग अनुरोध को किसी अन्य JSP या किसी भी स्थिर पृष्ठ पर अग्रेषित करने के लिए किया जाता है।
यहां अनुरोध को बिना किसी पैरामीटर के या पैरामीटर के साथ अग्रेषित किया जा सकता है।
सिंटेक्स:
<jsp:forward page="value">
यहां मान यह दर्शाता है कि अनुरोध कहां अग्रेषित किया जाना है।
उदाहरण:
एक्शन_jsp41.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Guru Action JSP1</title> </head> <body> <jsp:forward page="jsp_action_42.jsp" /> </body> </html>
Jsp_action_42.jsp
Guru Action JSP2</title> </head> <body> <a>This is after forward page</a> </body> </html>
कोड का स्पष्टीकरण:
एक्शन_jsp41.jsp
Code रेखा 10: यहां हम अनुरोध को एट्रिब्यूट में उल्लिखित पृष्ठ, यानी jsp_action_42.jsp पर अग्रेषित करने के लिए फॉरवर्ड जेएसपी एक्शन का उपयोग कर रहे हैं।
Jsp_action_42.jsp
Code रेखा 10: जैसे ही हम action_jsp41.jsp को कॉल करते हैं, अनुरोध इस पृष्ठ पर अग्रेषित हो जाता है, और हमें आउटपुट के रूप में "यह अग्रेषित पृष्ठ के बाद है" प्राप्त होता है।
जब हम उपरोक्त कोड को निष्पादित करते हैं, तो हमें निम्नलिखित आउटपुट प्राप्त होता है।
आउटपुट:
हम action_jsp41.jsp को कॉल करते हैं, लेकिन अनुरोध jsp_action_42.jsp पर अग्रेषित हो जाता है, और हमें उस पृष्ठ से आउटपुट "यह अग्रेषित पृष्ठ के बाद है" के रूप में प्राप्त होता है।
jsp:plugin एक्शन टैग
- इसका प्रयोग परिचय देने के लिए किया जाता है Java घटकों को JSP में, जहाँ Java घटक या तो ऐपलेट हो सकता है या बीन।
- यह ब्राउज़र का पता लगाता है और जोड़ता है या टैग को फाइल में डालें।
सिंटेक्स:
<jsp:plugin type="applet/bean" code="objectcode" codebase="objectcodebase">
- यहां टाइप किसी ऑब्जेक्ट या बीन को निर्दिष्ट करता है।
- Code यह ऐपलेट या बीन के क्लास नाम को निर्दिष्ट करता है।
- Codeआधार में आधार शामिल है URL जिसमें क्लास की फाइलें हों।
jsp:param एक्शन टैग
- यह ऊपर वर्णित प्लगइन ऑब्जेक्ट का एक चाइल्ड ऑब्जेक्ट है।
- इसमें अतिरिक्त पैरामीटर प्रदान करने के लिए एक या अधिक क्रियाएं होनी चाहिए.
सिंटेक्स:
<jsp:params> <jsp:param name="val" value="val"/ > </jsp:params>
प्लगइन और पैरामीटर का उदाहरण:
एक्शन_jsp5.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Action guru jsp5</title> </head> <body> <jsp:plugin type="bean" code="Student.class" codebase="demotest.Student"> <jsp:params> <jsp:param name="id" value="5" /> <jsp:param name="name" value="guru" /> </jsp:params> </jsp:plugin> </body> </html>
स्टूडेंट.जावा
package demotest; import java.io.Serializable; public class Student implements Serializable { public String getName () { return name; } public void setName (String name) { this.name = name; } public int getId() { return id; } public void setId (int id) { this.id = id; } private String name = "null"; private int id = 0; }
कोड का स्पष्टीकरण:
एक्शन_jsp5.jsp
Code रेखा 10: यहां हम jsp:plugin ऑब्जेक्ट का उपयोग कर रहे हैं, जिसमें हम तीन एट्रिब्यूट ले रहे हैं।
- प्रकार – इस मामले में यह बीन है।
- Code – फ़ाइल का नाम।
- Codeबेस – पैकेज नाम वाला पथ।
Code पंक्ति 11-14: यहां हम jsp:params ऑब्जेक्ट ले रहे हैं, जिसके अंतर्गत नाम और मान नामक विशेषताओं वाला एक चाइल्ड पैरामीटर ऑब्जेक्ट है, और हम इन विशेषताओं में id और नाम के मान सेट कर रहे हैं।
स्टूडेंट.जावा
Code 7 - 17: हम id और name वेरिएबल्स के लिए गेटर्स और सेटर्स का उपयोग कर रहे हैं।
Code 19 - 20: हम id और name नामक वेरिएबल्स को इनिशियलाइज़ कर रहे हैं।
यहां हमें आउटपुट तब मिलेगा जब param के सेट किए गए मानों का उपयोग Student बीन में किया जाएगा। इस स्थिति में, हमें कोई आउटपुट नहीं मिलेगा क्योंकि हम केवल param के मानों को सेट और प्राप्त कर रहे हैं, लेकिन उन्हें कहीं भी प्रिंट नहीं कर रहे हैं।
jsp:body एक्शन टैग
- इस टैग का उपयोग XML को गतिशील रूप से परिभाषित करने के लिए किया जाता है, जहाँ तत्व इसे संकलन समय के बजाय अनुरोध समय के दौरान उत्पन्न किया जा सकता है।
- यह XML को परिभाषित करता है, जो एक तत्व के बॉडी के रूप में गतिशील रूप से उत्पन्न होता है।
सिंटेक्स:
<jsp:body></jsp:body>
यहां हम इन टैग्स के भीतर XML बॉडी टैग लिखते हैं।
jsp:attribute एक्शन टैग
- इस टैग का उपयोग XML को गतिशील रूप से परिभाषित करने के लिए किया जाता है, जहां तत्वों को संकलन समय के बजाय अनुरोध समय के दौरान उत्पन्न किया जा सकता है।
- यह XML के उस एट्रिब्यूट को परिभाषित करता है जिसे गतिशील रूप से उत्पन्न किया जाएगा।
सिंटेक्स:
<jsp:attribute></jsp:attribute>
यहां हम XML का एट्रीब्यूट टैग लिखते हैं।
मुख्य भाग और विशेषता का उदाहरण:
एक्शन_jsp6.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Action Guru JSP6</title> </head> <body> <jsp:element name="GuruXMLElement"> <jsp:attribute name="GuruXMLattribute"> Value </jsp:attribute> <jsp:body>Guru XML</jsp:body> </jsp:element> </body> </html>
कोड का स्पष्टीकरण:
Code रेखा 10: यहां हम एक तत्व को परिभाषित कर रहे हैं, जो गतिशील रूप से उत्पन्न होता है। एक्सएमएलऔर इसका नाम होगा GuruXML तत्व।
Code पंक्ति 11-13: यहां हम एक एट्रीब्यूट को परिभाषित कर रहे हैं, जो गतिशील रूप से उत्पन्न XML का एक XML एट्रीब्यूट होगा।
Code रेखा 14: यहां हमारे पास बॉडी एक्शन है, जहां हम XML बॉडी लिख रहे हैं, जो गतिशील रूप से उत्पन्न होगी।
जब आप उपरोक्त कोड निष्पादित करते हैं, तो आपको निम्नलिखित आउटपुट मिलता है:
आउटपुट:
यहां हमें जनरेट किए गए XML के बॉडी टैग से आउटपुट मिलता है।
jsp:text एक्शन टैग
- इसका उपयोग जेएसपी पेजों में टेम्पलेट टेक्स्ट डालने के लिए किया जाता है।
- इसके मुख्य भाग में कोई अन्य तत्व नहीं है, तथा इसमें केवल पाठ और EL अभिव्यक्तियाँ ही हैं।
सिंटेक्स:
<jsp:text>template text</jsp:text>
यहां टेम्पलेट टेक्स्ट से तात्पर्य केवल टेम्पलेट टेक्स्ट (जो कोई भी सामान्य टेक्स्ट हो सकता है जिसे JSP पर प्रिंट करने की आवश्यकता है) या किसी अन्य टेक्स्ट से है। ईएल अभिव्यक्ति.
उदाहरण:
एक्शन_jsp7.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Guru Action JSP7</title> </head> <body> <jsp:text>Guru Template Text</jsp:text> </body> </html>
कोड का स्पष्टीकरण:
Code रेखा 10: यहां हम टेम्पलेट टेक्स्ट को प्रिंट करने के लिए टेक्स्ट ऑब्जेक्ट का उपयोग कर रहे हैं।
जब आप उपरोक्त कोड निष्पादित करते हैं, तो आपको निम्नलिखित आउटपुट मिलता है।
आउटपुट:
हमें मिल रहा है Guru टेम्प्लेट टेक्स्ट, जिसे टेक्स्ट एक्शन ऑब्जेक्ट के भीतर रखा जाता है।
jsp:आउटपुट एक्शन टैग
- यह JSP की XML घोषणा या DOCTYPE घोषणा को निर्दिष्ट करता है।
- XML घोषणा और DOCTYPE को आउटपुट द्वारा घोषित किया जाता है।
सिंटेक्स:
<jsp:output doctype-root-element="" doctype-system="">
यहां, doctype-root-element XML दस्तावेज़ के मूल तत्व को दर्शाता है। doctype-system आउटपुट में उत्पन्न होने वाले doctype को इंगित करता है और एक सिस्टम लिटरल प्रदान करता है।
उदाहरण:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Action Guru JSP8</title> </head> <body> <jsp:output doctype-root-element="html PUBLIC" doctype-system="http://www.w3.org/TR/html4/loose.dtd"/> </body> </html>
कोड का स्पष्टीकरण:
Code रेखा 10: यहां हम आउटपुट एक्शन ऑब्जेक्ट का उपयोग करके एक DOCTYPE उत्पन्न कर रहे हैं, और आंतरिक रूप से यह इस प्रारूप में उत्पन्न होगा:
इसका कोई दृश्य आउटपुट नहीं होगा क्योंकि यह आंतरिक रूप से उत्पन्न होगा।





