जेएसपी - सिंटैक्स
इस अध्याय में, हम JSP में सिंटैक्स की चर्चा करेंगे। हम JSP विकास के साथ शामिल सरल वाक्य रचना (यानी, तत्वों) के मूल उपयोग को समझेंगे।
JSP के तत्व
JSP के तत्वों को नीचे वर्णित किया गया है -
द स्क्रिप्टलेट
एक स्क्रिप्टलेट में पेज स्क्रिप्टिंग भाषा में मान्य JAVA भाषा विवरण, चर या विधि घोषणाएं, या अभिव्यक्ति की संख्या शामिल हो सकती है।
निम्नलिखित स्क्रिप्टलेट का वाक्य विन्यास है -
<% code fragment %>
आप उपरोक्त सिंटैक्स के XML समकक्ष निम्नानुसार लिख सकते हैं -
<jsp:scriptlet>
code fragment
</jsp:scriptlet>
आपके द्वारा लिखा गया कोई भी पाठ, HTML टैग या JSP तत्व स्क्रिप्टलेट के बाहर होना चाहिए। निम्नलिखित JSP के लिए सरल और पहला उदाहरण है -
<html>
<head><title>Hello World</title></head>
<body>
Hello World!<br/>
<%
out.println("Your IP address is " + request.getRemoteAddr());
%>
</body>
</html>
NOTE - यह मानते हुए कि Apache Tomcat C: \ Apache-tomcat-7.0.2 में स्थापित है और आपका वातावरण पर्यावरण सेटअप ट्यूटोरियल के अनुसार सेटअप है।
आइये हम उपरोक्त कोड को JSP फाइल में रखते हैं hello.jsp और इस फ़ाइल को डालें C:\apache-tomcat7.0.2\webapps\ROOTनिर्देशिका। URL का उपयोग करके समान ब्राउज़ करेंhttp://localhost:8080/hello.jsp। उपरोक्त कोड निम्नलिखित परिणाम उत्पन्न करेगा -
जेएसपी घोषणा
एक घोषणा एक या एक से अधिक चर या विधियों की घोषणा करती है जो आप जावा कोड में बाद में जेएसपी फ़ाइल में उपयोग कर सकते हैं। JSP फ़ाइल में उपयोग करने से पहले आपको चर या विधि की घोषणा करनी चाहिए।
जेएसपी घोषणाओं के लिए वाक्य रचना निम्नलिखित है -
<%! declaration; [ declaration; ]+ ... %>
आप उपरोक्त सिंटैक्स के XML समकक्ष निम्नानुसार लिख सकते हैं -
<jsp:declaration>
code fragment
</jsp:declaration>
JSP घोषणाओं के लिए एक उदाहरण निम्नलिखित है -
<%! int i = 0; %>
<%! int a, b, c; %>
<%! Circle a = new Circle(2.0); %>
JSP अभिव्यक्ति
JSP एक्सप्रेशन एलिमेंट में एक स्क्रिप्टिंग लैंग्वेज एक्सप्रेशन होता है जिसका मूल्यांकन किया जाता है, एक स्ट्रिंग में परिवर्तित किया जाता है, और जहाँ JSP फाइल में एक्सप्रेशन दिखाई देता है, वहाँ डाला जाता है।
क्योंकि किसी एक्सप्रेशन का मान स्ट्रिंग में परिवर्तित हो जाता है, तो आप JSP फ़ाइल में HTML के साथ टैग की गई या नहीं, की एक लाइन के भीतर एक एक्सप्रेशन का उपयोग कर सकते हैं।
एक्सप्रेशन एलिमेंट में कोई भी एक्सप्रेशन हो सकता है जो जावा लैंग्वेज स्पेसिफिकेशन के अनुसार मान्य हो लेकिन एक्सप्रेशन खत्म करने के लिए आप सेमीकॉलन का इस्तेमाल नहीं कर सकते।
जेएसपी एक्सप्रेशन का वाक्य विन्यास निम्नलिखित है -
<%= expression %>
आप उपरोक्त सिंटैक्स के XML समकक्ष निम्नानुसार लिख सकते हैं -
<jsp:expression>
expression
</jsp:expression>
निम्नलिखित उदाहरण एक JSP अभिव्यक्ति दिखाता है -
<html>
<head><title>A Comment Test</title></head>
<body>
<p>Today's date: <%= (new java.util.Date()).toLocaleString()%></p>
</body>
</html>
उपरोक्त कोड निम्नलिखित परिणाम उत्पन्न करेगा -
Today's date: 11-Sep-2010 21:24:25
JSP टिप्पणियाँ
JSP टिप्पणी पाठ या कथन को चिह्नित करती है जिसे JSP कंटेनर को अनदेखा करना चाहिए। एक JSP टिप्पणी तब उपयोगी होती है जब आप अपने JSP पेज का एक हिस्सा छुपाना या "कमेंट आउट" करना चाहते हैं।
निम्नलिखित JSP टिप्पणियों का सिंटैक्स है -
<%-- This is JSP comment --%>
निम्नलिखित उदाहरण JSP टिप्पणियाँ दिखाता है -
<html>
<head><title>A Comment Test</title></head>
<body>
<h2>A Test of Comments</h2>
<%-- This comment will not be visible in the page source --%>
</body>
</html>
उपरोक्त कोड निम्नलिखित परिणाम उत्पन्न करेगा -
A Test of Comments
कम संख्या में विशेष निर्माण हैं जिनका उपयोग आप विभिन्न मामलों में टिप्पणियों या पात्रों को सम्मिलित करने के लिए कर सकते हैं जिन्हें अन्यथा विशेष रूप से माना जाएगा। यहाँ एक सारांश है -
क्र.सं. | सिंटेक्स और प्रयोजन |
---|---|
1 | <%-- comment --%> एक JSP टिप्पणी। JSP इंजन द्वारा अनदेखा किया गया। |
2 | <!-- comment --> एक HTML टिप्पणी। ब्राउज़र द्वारा अनदेखा किया गया। |
3 | <\% स्थिर <% शाब्दिक का प्रतिनिधित्व करता है। |
4 | %\> स्थिर%> शाब्दिक का प्रतिनिधित्व करता है। |
5 | \' एक गुण में एक एकल उद्धरण जो एकल उद्धरण का उपयोग करता है। |
6 | \" एक विशेषता में एक डबल उद्धरण जो दोहरे उद्धरण चिह्नों का उपयोग करता है। |
जेएसपी के निर्देश
एक जेएसपी निर्देश सर्वलेट क्लास की समग्र संरचना को प्रभावित करता है। इसका आमतौर पर निम्न रूप होता है -
<%@ directive attribute="value" %>
डायरेक्टिव टैग तीन प्रकार के होते हैं -
क्र.सं. | निर्देश और विवरण |
---|---|
1 | <%@ page ... %> पृष्ठ-निर्भर विशेषताओं को परिभाषित करता है, जैसे कि स्क्रिप्टिंग भाषा, त्रुटि पृष्ठ और बफरिंग आवश्यकताएं। |
2 | <%@ include ... %> अनुवाद चरण के दौरान एक फ़ाइल शामिल है। |
3 | <%@ taglib ... %> पृष्ठ में उपयोग की जाने वाली कस्टम क्रियाओं वाले एक टैग लाइब्रेरी की घोषणा करता है |
हम एक अलग अध्याय जेएसपी - निर्देश में जेएसपी निर्देश की व्याख्या करेंगे
JSP क्रियाएँ
जेएसपी कार्रवाई का उपयोग करें constructsXML सिंटैक्स में सर्वलेट इंजन के व्यवहार को नियंत्रित करने के लिए। आप गतिशील रूप से एक फ़ाइल सम्मिलित कर सकते हैं, जावाबीन घटकों का पुन: उपयोग कर सकते हैं, उपयोगकर्ता को किसी अन्य पृष्ठ पर अग्रेषित कर सकते हैं, या जावा प्लगइन के लिए HTML उत्पन्न कर सकते हैं।
एक्शन तत्व के लिए केवल एक सिंटैक्स है, क्योंकि यह एक्सएमएल मानक के अनुरूप है -
<jsp:action_name attribute="value" />
क्रिया तत्व मूल रूप से पूर्वनिर्धारित कार्य हैं। निम्न तालिका में उपलब्ध JSP क्रियाओं की सूची दी गई है -
क्र.सं. | सिंटेक्स और प्रयोजन |
---|---|
1 | jsp:include पेज के अनुरोध के समय एक फ़ाइल शामिल है। |
2 | jsp:useBean एक जावा बीन को ढूँढता है या झटपट तैयार करता है। |
3 | jsp:setProperty एक JavaBean की संपत्ति सेट करता है। |
4 | jsp:getProperty एक जावाबीन की संपत्ति को आउटपुट में सम्मिलित करता है। |
5 | jsp:forward एक नए पृष्ठ के लिए आगे की ओर। |
6 | jsp:plugin ब्राउज़र-विशिष्ट कोड उत्पन्न करता है जो जावा प्लगइन के लिए एक OBJECT या EMBED टैग बनाता है। |
7 | jsp:element XML तत्वों को गतिशील रूप से परिभाषित करता है। |
8 | jsp:attribute डायनामिक रूप से परिभाषित XML तत्व की विशेषता को परिभाषित करता है। |
9 | jsp:body गतिशील रूप से परिभाषित XML तत्व के शरीर को परिभाषित करता है। |
10 | jsp:text जेएसपी पृष्ठों और दस्तावेजों में टेम्प्लेट पाठ लिखने के लिए उपयोग किया जाता है। |
हम एक अलग अध्याय जेएसपी - क्रिया में जेएसपी कार्यों की व्याख्या करेंगे
JSP इम्प्लिमेंट ऑब्जेक्ट्स
जेएसपी नौ स्वचालित रूप से परिभाषित चर का समर्थन करता है, जिन्हें अंतर्निहित वस्तु भी कहा जाता है। ये चर हैं -
क्र.सं. | वस्तु और विवरण |
---|---|
1 | request यह है HttpServletRequest अनुरोध के साथ जुड़ी हुई वस्तु। |
2 | response यह है HttpServletResponse क्लाइंट से प्रतिक्रिया के साथ जुड़ी वस्तु। |
3 | out यह है PrintWriter क्लाइंट को आउटपुट भेजने के लिए उपयोग की जाने वाली वस्तु। |
4 | session यह है HttpSession अनुरोध के साथ जुड़ी हुई वस्तु। |
5 | application यह है ServletContext अनुप्रयोग संदर्भ के साथ जुड़ी वस्तु। |
6 | config यह है ServletConfig पृष्ठ से जुड़ी वस्तु। |
7 | pageContext यह उच्च प्रदर्शन जैसे सर्वर-विशिष्ट सुविधाओं के उपयोग को एन्क्रिप्ट करता है JspWriters। |
8 | page यह केवल एक पर्यायवाची है this, और अनुवादित सर्वलेट क्लास द्वारा परिभाषित विधियों को कॉल करने के लिए उपयोग किया जाता है। |
9 | Exception Exception ऑब्जेक्ट निर्दिष्ट JSP द्वारा अपवाद डेटा तक पहुँचने की अनुमति देता है। |
हम JSP इंप्लिकेंट ऑब्जेक्ट्स को एक अलग चैप्टर JSP - इम्प्लिमेंट ऑब्जेक्ट्स में समझाएंगे ।
नियंत्रण-प्रवाह विवरण
आप अपने JSP प्रोग्रामिंग में जावा के सभी API और बिल्डिंग ब्लॉक्स का उपयोग कर सकते हैं, जिसमें निर्णय लेने के स्टेटमेंट, लूप आदि शामिल हैं।
निर्णय लेना कथन
if...else ब्लॉक एक सामान्य स्क्रिप्टलेट की तरह शुरू होता है, लेकिन स्क्रिप्टलेट HTML टैग्स के बीच शामिल HTML टेक्स्ट के साथ प्रत्येक लाइन पर बंद होता है।
<%! int day = 3; %>
<html>
<head><title>IF...ELSE Example</title></head>
<body>
<% if (day == 1 || day == 7) { %>
<p> Today is weekend</p>
<% } else { %>
<p> Today is not weekend</p>
<% } %>
</body>
</html>
उपरोक्त कोड निम्नलिखित परिणाम उत्पन्न करेगा -
Today is not weekend
अब निम्नलिखित को देखें switch...case ब्लॉक जिसका उपयोग करके थोड़ा अलग लिखा गया है out.println() और स्क्रिप्टलेटस के अंदर -
<%! int day = 3; %>
<html>
<head><title>SWITCH...CASE Example</title></head>
<body>
<%
switch(day) {
case 0:
out.println("It\'s Sunday.");
break;
case 1:
out.println("It\'s Monday.");
break;
case 2:
out.println("It\'s Tuesday.");
break;
case 3:
out.println("It\'s Wednesday.");
break;
case 4:
out.println("It\'s Thursday.");
break;
case 5:
out.println("It\'s Friday.");
break;
default:
out.println("It's Saturday.");
}
%>
</body>
</html>
उपरोक्त कोड निम्नलिखित परिणाम उत्पन्न करेगा -
It's Wednesday.
लूप विवरण
आप जावा में तीन बुनियादी प्रकार के लूपिंग ब्लॉकों का भी उपयोग कर सकते हैं: for, while, and do…while आपके JSP प्रोग्रामिंग में ब्लॉक।
आइए हम निम्नलिखित को देखें for पाश उदाहरण -
<%! int fontSize; %>
<html>
<head><title>FOR LOOP Example</title></head>
<body>
<%for ( fontSize = 1; fontSize <= 3; fontSize++){ %>
<font color = "green" size = "<%= fontSize %>">
JSP Tutorial
</font><br />
<%}%>
</body>
</html>
उपरोक्त कोड निम्नलिखित परिणाम उत्पन्न करेगा -
JSP Tutorial
JSP Tutorial
JSP Tutorial
उपरोक्त उदाहरण का उपयोग करके लिखा जा सकता है while पाश इस प्रकार है -
<%! int fontSize; %>
<html>
<head><title>WHILE LOOP Example</title></head>
<body>
<%while ( fontSize <= 3){ %>
<font color = "green" size = "<%= fontSize %>">
JSP Tutorial
</font><br />
<%fontSize++;%>
<%}%>
</body>
</html>
उपरोक्त कोड निम्नलिखित परिणाम उत्पन्न करेगा -
JSP Tutorial
JSP Tutorial
JSP Tutorial
JSP ऑपरेटर्स
JSP जावा द्वारा समर्थित सभी तार्किक और अंकगणितीय ऑपरेटरों का समर्थन करता है। निम्न तालिका सूची के शीर्ष के शीर्ष पर दिखाई देने वाले सभी ऑपरेटरों को सूची में सबसे नीचे दिखाई देते हैं।
एक अभिव्यक्ति के भीतर, उच्च पूर्वता ऑपरेटरों का मूल्यांकन पहले किया जाएगा।
वर्ग | ऑपरेटर | संबद्धता |
---|---|---|
पोस्टफ़िक्स | () []। (डॉट ऑपरेटर) | बाएं से दाएं |
एकल | ++ - -! ~ | दाएं से बाएं |
गुणक | * *% | बाएं से दाएं |
additive | + - | बाएं से दाएं |
खिसक जाना | >>>> << | बाएं से दाएं |
रिलेशनल | >> = <<= | बाएं से दाएं |
समानता | ==! = | बाएं से दाएं |
बिटवाइज़ और | और | बाएं से दाएं |
बिटवाइज़ XOR | ^ | बाएं से दाएं |
बिटवार या | | | बाएं से दाएं |
तार्किक और | && | बाएं से दाएं |
तार्किक या | || | बाएं से दाएं |
सशर्त | ?: | दाएं से बाएं |
असाइनमेंट | = + = - = * = / =% = >> = << = & = ^ = = | = | | दाएं से बाएं |
अल्पविराम | , | बाएं से दाएं |
जेएसपी साहित्य
JSP अभिव्यक्ति भाषा निम्नलिखित शाब्दिक परिभाषा को परिभाषित करती है -
Boolean - सच और झूठ
Integer - जैसा कि जावा में है
Floating point - जैसा कि जावा में है
String- सिंगल और डबल कोट्स के साथ; "as as बच गया है \", 'as बच गया है as \', और \ बच जाता है \\ के रूप में।
Null - अशक्त