useBean एक्शन काफी बहुमुखी है। यह पहले id और स्कोप वेरिएबल्स का उपयोग करके किसी मौजूदा ऑब्जेक्ट की खोज करता है। यदि कोई ऑब्जेक्ट नहीं मिलता है, तो यह निर्दिष्ट ऑब्जेक्ट बनाने का प्रयास करता है।
बीन लोड करने का सबसे सरल तरीका निम्नानुसार है -
<jsp:useBean id = "name" class = "package.class" />
एक बार बीन क्लास लोड हो जाने पर, आप बीन प्रॉपर्टीज़ को संशोधित और पुनर्प्राप्त करने के लिए jsp:setProperty और jsp:getProperty एक्शन्स का उपयोग कर सकते हैं।
निम्न तालिका useBean एक्शन से जुड़े एट्रिब्यूट्स को सूचीबद्ध करती है -
| S.No. | एट्रिब्यूट और विवरण |
|---|---|
| 1 | class बीन का पूरा पैकेज नाम निर्दिष्ट करता है। |
| 2 | type उस वेरिएबल के प्रकार को निर्दिष्ट करता है जो ऑब्जेक्ट को संदर्भित करेगा। |
| 3 | beanName java.beans.Beans क्लास के instantiate() मेथड द्वारा निर्दिष्ट बीन का नाम देता है। |
आइए अब इन एक्शन्स से संबंधित एक वैध उदाहरण देने से पहले jsp:setProperty और jsp:getProperty एक्शन्स पर चर्चा करें।
<jsp:setProperty> एक्शन
setProperty एक्शन बीन की प्रॉपर्टीज़ सेट करता है। इस एक्शन से पहले बीन को पहले से परिभाषित किया गया होना चाहिए। setProperty एक्शन का उपयोग करने के दो बुनियादी तरीके हैं -
आप jsp:setProperty का उपयोग jsp:useBean एलिमेंट के बाद, लेकिन बाहर कर सकते हैं, जैसा कि नीचे दिया गया है -
<jsp:useBean id = "myName" ... /> ... <jsp:setProperty name = "myName" property = "someProperty" .../>
इस मामले में, jsp:setProperty निष्पादित होता है चाहे नया बीन इंस्टेंटिएट किया गया हो या मौजूदा बीन मिला हो।
दूसरा संदर्भ जिसमें jsp:setProperty प्रकट हो सकता है, jsp:useBean एलिमेंट के शरीर के अंदर है, जैसा कि नीचे दिया गया है -
<jsp:useBean id = "myName" ... > ... <jsp:setProperty name = "myName" property = "someProperty" .../> </jsp:useBean>
यहां, jsp:setProperty केवल तभी निष्पादित होता है जब एक नया ऑब्जेक्ट इंस्टेंटिएट किया गया था, न कि जब कोई मौजूदा मिला था।
निम्न तालिका setProperty एक्शन से जुड़े एट्रिब्यूट्स को सूचीबद्ध करती है -
| S.No. | एट्रिब्यूट और विवरण |
|---|---|
| 1 | name उस बीन को नामित करता है जिसकी प्रॉपर्टी सेट की जाएगी। बीन को पहले से परिभाषित किया गया होना चाहिए। |
| 2 | property उस प्रॉपर्टी को इंगित करता है जिसे आप सेट करना चाहते हैं। "*" का मान मतलब है कि उन सभी रिक्वेस्ट पैरामीटर्स जिनके नाम बीन प्रॉपर्टी नामों से मेल खाते हैं, उपयुक्त सेटर मेथड्स को पास किए जाएंगे। |
| 3 | value वह मान जो दी गई प्रॉपर्टी को असाइन किया जाना है। यदि पैरामीटर का मान null है, या पैरामीटर मौजूद नहीं है, तो setProperty एक्शन को अनदेखा किया जाता है। |
| 4 | param param एट्रिब्यूट उस रिक्वेस्ट पैरामीटर का नाम है जिसका मान प्रॉपर्टी को प्राप्त करना है। आप value और param दोनों का उपयोग नहीं कर सकते, लेकिन किसी का भी उपयोग न करना स्वीकार्य है। |
<jsp:getProperty> एक्शन
getProperty एक्शन का उपयोग दिए गए प्रॉपर्टी के मान को पुनर्प्राप्त करने, इसे स्ट्रिंग में परिवर्तित करने, और अंत में आउटपुट में डालने के लिए किया जाता है।
getProperty एक्शन के केवल दो एट्रिब्यूट्स होते हैं, जिनमें से दोनों आवश्यक हैं। getProperty एक्शन का सिंटैक्स निम्नानुसार है -
<jsp:useBean id = "myName" ... /> ... <jsp:getProperty name = "myName" property = "someProperty" .../>
निम्न तालिका getProperty एक्शन से जुड़े आवश्यक एट्रिब्यूट्स को सूचीबद्ध करती है -
| S.No. | एट्रिब्यूट और विवरण |
|---|---|
| 1 | name उस बीन का नाम जिसमें पुनर्प्राप्त की जाने वाली प्रॉपर्टी है। बीन को पहले से परिभाषित किया गया होना चाहिए। |
| 2 | property प्रॉपर्टी एट्रिब्यूट बीन प्रॉपर्टी का नाम है जिसे पुनर्प्राप्त किया जाना है। |
उदाहरण
आइए एक टेस्ट बीन परिभाषित करें जिसका उपयोग हमारे उदाहरण में किया जाएगा -
/* File: TestBean.java */
package action;
public class TestBean {
private String message = "No message specified";
public String getMessage() { return(message); }
public void setMessage(String message) { this.message = message; }
}
उपरोक्त कोड को जनरेटेड TestBean.class फ़ाइल में संकलित करें और सुनिश्चित करें कि आपने TestBean.class को C:\apache-tomcat-7.0.2\webapps\WEB-INF\classes\action फ़ोल्डर में कॉपी किया है और CLASSPATH वेरिएबल को भी इस फ़ोल्डर पर सेट किया है -
अब main.jsp फ़ाइल में निम्न कोड का उपयोग करें। यह बीन लोड करता है और एक साधारण स्ट्रिंग पैरामीटर सेट/गेट करता है -
<html> <head> <title>Using JavaBeans in JSP</title> </head> <body> <center> <h2>Using JavaBeans in JSP</h2> <jsp:useBean id = "test" class = "action.TestBean" /> <jsp:setProperty name = "test" property = "message" value = "Hello JSP..." /> <p>Got message....</p> <jsp:getProperty name = "test" property = "message" /> </center> </body> </html>
आइए अब main.jsp को एक्सेस करने का प्रयास करें, यह निम्न परिणाम प्रदर्शित करेगा -
Using JavaBeans in JSP Got message.... Hello JSP...