जेएसपी एक्शन टैग
जेएसपी एक्शन क्या है?
JSP क्रियाएँ सर्वलेट इंजन के व्यवहार को नियंत्रित करने के लिए XML सिंटैक्स में निर्माण का उपयोग करती हैं। हम JSP क्रियाओं जैसे कि include और forward के माध्यम से गतिशील रूप से एक फ़ाइल सम्मिलित कर सकते हैं, बीन्स घटकों का पुनः उपयोग कर सकते हैं, उपयोगकर्ता को दूसरे पृष्ठ पर अग्रेषित कर सकते हैं, आदि। निर्देशों के विपरीत, हर बार पृष्ठ तक पहुँचने पर क्रियाओं का पुनर्मूल्यांकन किया जाता है।
सिंटेक्स:
<jsp:action_name attribute="value" />
इस ट्यूटोरियल में, आप JSP मानक क्रियाओं के बारे में जानेंगे। JSP मानक क्रिया टैग का उपयोग सर्वलेट इंजन के व्यवहार को नियंत्रित करने के लिए किया जाता है।
JSP में सामान्यतः प्रयुक्त एक्शन टैग्स की सूची
JSP में 11 प्रकार के मानक एक्शन टैग हैं, और यहां उनकी पूरी सूची दी गई है।
एक्शन टैग नाम | वाक्य - विन्यास | विवरण |
---|---|---|
जेएसपी:useBean | JSP पृष्ठ में बीन्स को आमंत्रित करने और उपयोग करने के लिए उपयोग किया जाता है। | |
जेएसपी:शामिल करें | अनुरोध प्रसंस्करण के दौरान वर्तमान फ़ाइल में एक अन्य JSP फ़ाइल शामिल करता है। | |
jsp:सेटप्रॉपर्टी | बीन का गुणधर्म निर्धारित करता है। | |
जेएसपी: getProperty | किसी बीन के गुण को पुनः प्राप्त करता है और उसे आउटपुट के लिए स्ट्रिंग में परिवर्तित करता है। | |
जेएसपी: आगे | अनुरोध को किसी अन्य JSP या स्थैतिक पृष्ठ पर अग्रेषित करता है। | |
जेएसपी:प्लगइन | द्वारा प्रस्तुत Java यह एप्लेट्स या बीन्स जैसे घटकों को JSP में जोड़ता है और स्वचालित रूप से टैग उत्पन्न करता है। | |
जेएसपी:बॉडी | अनुरोध प्रसंस्करण के दौरान गतिशील रूप से उत्पन्न होने वाले XML तत्वों को परिभाषित करता है। | |
जेएसपी:पाठ | टेम्पलेट पाठ | JSP पृष्ठों में टेम्पलेट पाठ सम्मिलित करने के लिए उपयोग किया जाता है, जिसमें केवल पाठ और EL अभिव्यक्तियाँ होती हैं। |
जेएसपी:पैरामीटर | अतिरिक्त डेटा जोड़ने के लिए jsp:plugin क्रिया के अंतर्गत पैरामीटर पास करता है। | |
jsp:विशेषता | गतिशील रूप से उत्पन्न XML विशेषताओं को परिभाषित करता है। | |
जेएसपी:आउटपुट | आउटपुट में उपयोग किए जाने वाले XML या DOCTYPE घोषणा को निर्दिष्ट करता है। |
जेएसपी:useBean
- इस क्रिया नाम का उपयोग तब किया जाता है जब हम JSP पृष्ठ में बीन्स का उपयोग करना चाहते हैं।
- इस टैग के साथ, हम आसानी से एक बीन का आह्वान कर सकते हैं।
jsp का सिंटैक्स: UseBean:
<jsp:useBean 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>
कोड का स्पष्टीकरण:
कोड लाइन 10: उपरोक्त कोड में हम बीन की “बीन आईडी” और “क्लास पथ” का उपयोग करते हैं।
जेएसपी:शामिल करें
- इसका उपयोग किसी jsp फ़ाइल को किसी अन्य फ़ाइल में सम्मिलित करने के लिए भी किया जाता है, जैसे कि निर्देशों.
- इसे अनुरोध प्रसंस्करण चरण के दौरान जोड़ा जाता है
jsp:include का सिंटैक्स
<jsp:include page="page URL" flush="true/false">
उदाहरण:
Action_jsp2 (कोड लाइन 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
कोड लाइन 10: पहली फ़ाइल में हम date.jsp फ़ाइल को action_jsp2.jsp में शामिल कर रहे हैं
दिनांक.jsp:
कोड लाइन 11: हम date.jsp में कोड लाइन 11 में आज की तारीख प्रिंट कर रहे हैं
जब आप कोड निष्पादित करते हैं तो निम्नलिखित आउटपुट प्राप्त होता है।
आउटपुट:
- यह आज की तारीख को समय के साथ प्रदर्शित करता है क्योंकि तारीख फ़ाइल मुख्य jsp में शामिल है
jsp:सेटप्रॉपर्टी
- JSP में मानक क्रियाओं के इस गुण का उपयोग बीन के गुण को सेट करने के लिए किया जाता है।
- हमें प्रॉपर्टी सेट करने से पहले बीन को परिभाषित करने की आवश्यकता है
सिंटेक्स:
<jsp:setproperty name="" property="" >
यहाँ, नाम उस बीन को परिभाषित करता है जिसकी प्रॉपर्टी सेट की गई है और वह प्रॉपर्टी जिसे हम सेट करना चाहते हैं। साथ ही, हम वैल्यू और पैराम विशेषता सेट कर सकते हैं। यहाँ वैल्यू अनिवार्य नहीं है, और यह उस वैल्यू को परिभाषित करता है जिसे प्रॉपर्टी को असाइन किया गया है। यहाँ पैराम अनुरोध पैरामीटर का नाम है जिसका उपयोग करके वैल्यू प्राप्त की जा सकती है। सेटप्रॉपर्टी का उदाहरण नीचे getproperty के साथ प्रदर्शित किया जाएगा
जेएसपी: getProperty
- इस गुण का उपयोग बीन का गुण प्राप्त करने के लिए किया जाता है।
- यह एक स्ट्रिंग में परिवर्तित हो जाता है और अंततः आउटपुट में सम्मिलित हो जाता है।
सिंटेक्स:
<jsp:getAttribute 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>
कोड का स्पष्टीकरण:
टेस्टबीन.जावा:
कोड लाइन 5: TheTestBean serializable क्लास को लागू कर रहा है। यह कोड में गेटर्स सेटर्स वाला एक बीन क्लास है।
कोड लाइन 7: यहां हम निजी स्ट्रिंग चर msg को “null” के रूप में ले रहे हैं
कोड लाइन 9-14यहां हम वेरिएबल “msg” के गेटर्स और सेटर्स का उपयोग कर रहे हैं।
एक्शन_jsp3.jsp
कोड लाइन 10: यहां हम “useBean” टैग का उपयोग कर रहे हैं, जहां यह बीन यानी TestBean को निर्दिष्ट करता है जिसका उपयोग इस jsp क्लास में किया जाना है
कोड लाइन 11: यहां हम बीन TestBean के लिए गुण msg का मान “GuruTutorial” के रूप में सेट कर रहे हैं।
कोडलाइन12: यहाँ getProperty का उपयोग करके, हम बीन TestBean यानी GuruTutorial के लिए प्रॉपर्टी msg का मान प्राप्त कर रहे हैं जो आउटपुट में है
जब आप उपरोक्त कोड निष्पादित करते हैं तो आपको निम्नलिखित आउटपुट मिलता है:
आउटपुट:
इस उदाहरण में, TestBean का उपयोग करके हम setProperty का उपयोग करके “gurutest” प्रॉपर्टी सेट करने की कोशिश कर रहे हैं और getProperty का उपयोग करके “GuruTutorial” के रूप में प्रॉपर्टी का मान प्राप्त करने की कोशिश कर रहे हैं।
जेएसपी: आगे
इसका उपयोग अनुरोध को किसी अन्य 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
कोड लाइन 10: यहां हम अनुरोध को विशेषता में उल्लिखित पृष्ठ पर अग्रेषित करने के लिए फॉरवर्ड JSP एक्शन का उपयोग कर रहे हैं, अर्थात, jsp_action_42.jsp
Jsp_action_42.jsp
कोड लाइन 10: एक बार जब हम action_jsp41.jsp को कॉल करते हैं, तो अनुरोध इस पृष्ठ पर अग्रेषित हो जाता है, और हमें आउटपुट मिलता है "यह अग्रेषित पृष्ठ के बाद है।"
जब हम उपरोक्त कोड निष्पादित करते हैं, तो हमें निम्नलिखित आउटपुट मिलता है
आउटपुट:
हम action_jsp41.jsp को कॉल करते हैं लेकिन अनुरोध jsp_action_42.jsp पर अग्रेषित हो जाता है, और हमें उस पृष्ठ से "यह अग्रेषित पृष्ठ के बाद है" के रूप में आउटपुट मिलता है।
जेएसपी:प्लगइन
- इसका प्रयोग परिचय देने के लिए किया जाता है Java घटकों को जेएसपी में परिवर्तित करना, अर्थात, जावा घटक या तो एप्लेट या बीन हो सकते हैं।
- यह ब्राउज़र का पता लगाता है और जोड़ता है या फ़ाइल में JSP टैग
सिंटेक्स:
<jsp:plugin type="applet/bean" code="objectcode" codebase="objectcodebase">
- यहाँ प्रकार या तो ऑब्जेक्ट या बीन निर्दिष्ट करता है
- कोड एप्लेट या बीन का वर्ग नाम निर्दिष्ट करता है
- कोड बेस में बेस URL होता है जिसमें क्लासों की फ़ाइलें होती हैं
जेएसपी:पैरामीटर
- यह ऊपर वर्णित प्लगइन ऑब्जेक्ट का चाइल्ड ऑब्जेक्ट है
- इसमें अतिरिक्त पैरामीटर प्रदान करने के लिए एक या अधिक क्रियाएं होनी चाहिए.
सिंटेक्स:
<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
कोड लाइन 10: यहाँ हम jsp: प्लगइन ऑब्जेक्ट ले रहे हैं जहाँ हम तीन विशेषताएँ ले रहे हैं
- प्रकार - इस मामले में यह बीन है
- कोड- फ़ाइल का नाम
- कोडबेस – पैकेज नाम सहित पथ
कोड लाइन 11-14: यहां हम jsp: params ऑब्जेक्ट ले रहे हैं जिसके अंतर्गत name और value विशेषताओं के साथ एक child param ऑब्जेक्ट है, और हम इस विशेषता में id और name के मान सेट कर रहे हैं।
स्टूडेंट.जावा
कोड 7- 17: हम वेरिएबल id और name के लिए getters और setters का उपयोग कर रहे हैं
कोड 19-20: हम id और name चरों को आरंभीकृत कर रहे हैं।
यहाँ हमें उस स्थिति में आउटपुट मिलेगा जब param के सेट मानों का उपयोग Student Bean में किया जाएगा। इस स्थिति में, हमारे पास कोई आउटपुट नहीं होगा क्योंकि हम केवल param के मान सेट कर रहे हैं और प्राप्त कर रहे हैं लेकिन इसे कहीं भी प्रिंट नहीं कर रहे हैं।
जेएसपी:बॉडी
- इस टैग का उपयोग XML को गतिशील रूप से परिभाषित करने के लिए किया जाता है, अर्थात, तत्व संकलन समय की तुलना में अनुरोध समय के दौरान अधिक डेटा उत्पन्न किया जा सकता है।
- यह वास्तव में XML को परिभाषित करता है, जो गतिशील रूप से तत्व निकाय द्वारा उत्पन्न होता है।
सिंटेक्स:
<jsp:body></jsp:body>
यहां हम इस टैग के भीतर XML बॉडी टैग लिखते हैं
jsp:विशेषता
- इस टैग का उपयोग XML को गतिशील रूप से परिभाषित करने के लिए किया जाता है, अर्थात तत्वों को संकलन समय की तुलना में अनुरोध समय के दौरान उत्पन्न किया जा सकता है
- यह वास्तव में XML की विशेषता को परिभाषित करता है जो गतिशील रूप से उत्पन्न होगी।
सिंटेक्स:
<jsp:attribute></jsp:attribute>
यहां हम XML का attribute tag लिखते हैं।
मुख्य भाग और विशेषता का उदाहरण:
एक्शन_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>
कोड का स्पष्टीकरण:
कोड लाइन 10: यहाँ हम तत्व को परिभाषित कर रहे हैं, जो गतिशील रूप से उत्पन्न होता है एक्सएमएल, और इसका नाम होगा GuruXMLElement
कोड लाइन 11-13: यहां हम एक विशेषता परिभाषित कर रहे हैं जो गतिशील रूप से उत्पन्न XML की XML विशेषता होगी।
कोड लाइन 14: यहां हमारे पास बॉडी एक्शन है जहां हम XML बॉडी लिख रहे हैं जो गतिशील रूप से XML में उत्पन्न होगी।
जब आप उपरोक्त कोड निष्पादित करते हैं, तो आपको निम्नलिखित आउटपुट मिलता है:
आउटपुट:
यहां हम जेनरेटेड XML के बॉडी टैग से आउटपुट प्राप्त करते हैं।
जेएसपी:पाठ
- इसका उपयोग JSP पृष्ठों में टेक्स्ट को टेम्पलेट करने के लिए किया जाता है।
- इसके मुख्य भाग में कोई अन्य तत्व नहीं है, तथा इसमें केवल पाठ और 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>
कोड का स्पष्टीकरण:
कोड लाइन 10: यहाँ हम टेम्पलेट टेक्स्ट को प्रिंट करने के लिए टेक्स्ट ऑब्जेक्ट ले रहे हैं
जब आप उपरोक्त कोड निष्पादित करते हैं, तो आपको निम्नलिखित आउटपुट मिलता है
आउटपुट:
हमें गुरु टेम्पलेट टेक्स्ट मिल रहा है, जो टेक्स्ट एक्शन ऑब्जेक्ट्स के भीतर रखा गया है।
जेएसपी:आउटपुट
- यह jsp की XML घोषणा या DOCTYPE घोषणा को निर्दिष्ट करता है
- XML घोषणा और DOCTYPE आउटपुट द्वारा घोषित किए जाते हैं
सिंटेक्स:
<jsp:output doctype-root-element="" doctype-system="">
यहाँ, doctype-root-element, DOCTYPE में 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>
कोड का स्पष्टीकरण:
कोड लाइन 10: यहां हम DOCTYPE उत्पन्न करने के लिए आउटपुट एक्शन ऑब्जेक्ट का उपयोग कर रहे हैं, और आंतरिक रूप से यह इस प्रारूप में उत्पन्न होगा:
इसका कोई आउटपुट नहीं होगा क्योंकि यह आंतरिक रूप से तैयार किया जाएगा।