JSP (Java Server Pages) Action Elements

Introduction to JSP Action Elements

JSP में action elements विशेष tags होते है। इन tags के माध्यम से JSP आपको special features provide करती है। उदाहरण के लिए useBean action element को यूज़ करके आप java bean class को JSP page में use कर सकते है।

ये tags JSP engine द्वारा special way में process किये जाते है। जब आप इन tags को यूज़ करते है तो आपको code तो कम लिखना पड़ता ही है साथ ही आप task भी ज्यादा आसानी से perform कर पाते है। ये tags आपको common functionality provide करते है जिसकी जरुरत लगभग सभी web applications में होती है।

JSP आपको निचे दिए गए action tags provide करती है। सभी tags को आप jsp: keyword से start करते है।

  1. jsp:include
  2. jsp:forward
  3. jsp:param
  4. jsp:useBean
  5. jsp:getProperty
  6. jsp:setProperty
  7. jsp:plugin
  8. jsp:body
  9. jsp:text
  10. jsp:element
  11. attribute

इन सभी action tags के बारे में आपको निचे detail से बताया जा रहा है।

jsp:include

यदि आप किसी दूसरे JSP page को अपने main page में include करना चाहते है तो इसके लिए आप include action element यूज़ कर सकते है। हालाँकि ऐसा JSP include directive के द्वारा भी किया जा सकता है लेकिन include action element उससे advanced functionality provide करता है। आगे बढ़ने से पहले आइये देखते है की इन दोनों tags में क्या main differences है।

Include Directive  Include Action 
जब आप include directive यूज़ करते है तो file translation के समय ही आपके main page में include हो जाती है।   जब आप include action यूज़ करते है तो file run time पर आपके main page में include होती है।   
जब आप include directive यूज़ करते है तो include की गयी file का content main file में copy हो जाता है।   जब आप include action यूज़ करते है तो file को refer (point) किया जाता है। ये किसी pointer की तरह होता है।    
Include directive को static content के संदर्भ में प्रयोग किया जाता है।   Include action को dynamic content के संदर्भ में प्रयोग किया जाता है।   
Include directive के द्वारा include की जाने वाली file को आप parameters नहीं pass कर सकते है।   Include action के द्वारा include की गयी file को parameters pass किये जा सकते है।

JSP action element का basic syntax निचे दिया जा रहा है।

<jsp:include page="URL" flush="true" />

या आप निचे दिया गया syntax भी यूज़ कर सकते है।

<jsp:include page="URL" flush="true">
</jsp:include>

Include action tag के 2 attributes होते है।

  1. page - इस attribute के द्वारा आप उस page का URL define करते है जिसे आप include करना चाहते है।
  2. flush - इस attribute की value true या false में दी जाती है। ये attribute बताता है की add की गई file buffer flush की गयी है या नहीं की गयी है। ये जरुरी नहीं है की आप इस attribute को include ही करे आप only flush attribute के साथ भी इस tag को यूज़ कर सकते है।

इसे निचे एक उदाहरण के माध्यम से समझाया जा रहा है।

<jsp:include page="sales.jsp" flush="true" />

jsp:forward

सभी requests किसी web application के main page को भेजी जाती है। लेकिन ये जरुरी नहीं है की आप सभी requests को main page में ही handle करें। यदि आप current page के लिए की गयी request को किसी दूसरे JSP page को forward करना चाहते है तो इसके लिए JSP forward action tag यूज़ कर सकते है।

ध्यान रखने योग्य बात ये है की आपके current page का content pass नहीं होता है केवल request pass होती है। इस tag में page attribute आप define करते है जो की उस page का URL define करता है जिसे request forward की जानी है। JSP forward tag का general syntax निचे दिया जा रहा है।

<jsp:forward page="URL">

आप चाहे तो निचे दिया गया syntax भी यूज़ कर सकते है।

<jsp:forward page="URL">
</jsp:forward>

इसे निचे उदाहरण के माध्यम से समझाया जा रहा है।

<jsp:forward page="sales.jsp" />

jsp:param

यदि आप include किये गए JSP page को या forward किये गए JSP page को parameters pass करना चाहते है तो इसके लिए JSP param action tag यूज़ कर सकते है। ये JSP include और forward action tags के sub tag के रूप में यूज़ किया जाता है।

JSP param tag में parameters name और value attributes के द्वारा define किये जाते है। इन parameters को आप दूसरे page में getParameter() method द्वारा access करते है। इस tag का general syntax निचे दिया जा रहा है।

<jsp:param name="Name" value-"Value-Of-Parameter" />  

इसे निचे उदाहरण के माध्यम से समझाया जा रहा है।

<jsp:forward page="sales.jsp">
<jsp:param name="UserName" value="YrName" />
</jsp:forward>

ऊपर दिए गए उदाहरण में request sales.jsp page को forward की जा रही है। साथ ही एक UserName नाम से एक parameter भी pass किया गया है जिसकी value YrName है। इस parameter की value को sales.jsp page में इस प्रकार access किया जायेगा।

<%= request.getParameter("UserName");

यँहा पर expression directive में getParameter() method को call किया गया है। जैसा की आपको expression directive में लिखा गया java code directly execute होता है। इसलिए ये statement execute होने पर इस parameter की value द्वारा replace कर दिया जायेगा जो की YrName है।

jsp:useBean

JSP useBean action tag आपको JSP page में Java bean classes यूज़ करने की capability provide करता है। इस tag के साथ 2 tags <jsp:getProperty> और <jsp:setProperty> होते है। इन tags की मदद से आप Java bean class में properties को set और access करते है। JSP useBean tag का general syntax निचे दिया जा रहा है।

<jsp:useBean id="UniqueName"
                      scope="page|request|session|application"
                      class="package.class"
                      type="package.class"
                      beanName="package.class">
</jsp:useBean>

JSP useBean action tag में आप 5 attributes define करते है। इनके बारे में निचे बताया जा रहा है।

  1. id - इस attribute में आप java bean class के object का नाम देते है। इस नाम के द्वारा bean class को दिए गए object में uniquely identify किया जाता है।
  2. scope - इस attribute के द्वारा आप include की गयी bean class का scope define करते है। इसे आप page, request, session और application values के रूप में define करते है।
  3. class - इस attribute के द्वारा आप bean class को define करते है। Class को उसके package के साथ define किया जाता है।
  4. type - इस attribute द्वारा आप define करते है की object किस type को होगा।
  5. beanName - ये attribute bean class को instantiate() method द्वारा instantiate करता है।

जरुरी नहीं की आप इन सभी attributes को define करें। आप चाहे तो सिर्फ id और class attribute के साथ भी इस tag को यूज़ कर सकते है।

jsp:setProperty

इस tag द्वारा आप bean class में property की value set करते है। इस tag में आप 3 property define करते है।

  1. name - ये bean class का नाम होता है जिसमे property set करने के लिए होती है।
  2. property - ये उस property का नाम होता है जिसे आप set करना चाहते है।
  3. value - ये वो value होती है जो आप property के लिए set करना चाहते है।

इसका syntax निचे दिया जा रहा है।

<jsp:setProperty name="Bean_Class-Name" property="propertyName" value="val" />

jsp:getProperty

इस action tag के द्वारा आप bean class से किसी भी property की value access कर सकते है। इस tag के 2 attributes होते है।

  1. name - ये उस bean class का नाम होता है जिसकी property को आप access करना चाहते है।
  2. property - ये उस property का नाम होता है जिसकी value आप retrieve करना चाहते है।

इसका syntax निचे दिया जा रहा है।

<jsp:getProperty name="Name_Of_Bean_Class" property="name-of-property" />

JSP में java bean class के यूज़ को एक complete उदाहरण द्वारा निचे समझाया जा रहा है।

Java Bean Class:

package myPackage;

public class BeanDemo
{
   private int num;

   public void setValue(int n)
   {
       this.num=n;
   }

   public int getValue()
   {
        return num;
   }

JSP page:

<html>
<head>
<title>JSP Bean Demo</title>
</head>

<body>

<jsp:useBean id="MyBean" class="MyPackage.BeanDemo">
<jsp:setProperty name="BeanDemo" property="num" value="5" />
<jsp:getProperty name="BeanDemo" property="num" />

</body>
</html>

jsp:plugin

JSP का plugin action tag JSP page में applet को insert करने के लिए यूज़ किया जाता है। Applet को execute करने के लिए ये tag client machine पर plugin download करता है। इस tag के द्वारा आप bean भी अपने JSP page में insert कर सकते है। ये tag आवश्यकता के अनुसार object और embed tag को यूज़ करता है। इस action tag का general syntax निचे दिया जा रहा है।

<jsp:plugin type="bean or applet" code="name of java class file" codebase="directory name fo java class file">
</jsp:plugin>

jsp:element

ये tag XML elements को dynamically define करने के लिए यूज़ किया जाता है। इस action tag के अंदर आप 3 और action tags define करते है।

  1. <jsp:body>
  2. <jsp:attribute>

इस tag का general syntax निचे दिया जा रहा है।

<jsp:element name="element-name">
attribute & body action tags
</jsp:element>

jsp:body

ये tag XML file में body elements define करने के लिए यूज़ किया जाता है। इस tag <jsp:element> tag के अंदर define किया जाता है। इसका general syntax निचे दिया जा रहा है।

<jsp:body>
                    body here
</jsp:body>

jsp:attribute

इस action tag के द्वारा आप attribute और उसकी value define करते है। इसका general syntax निचे दिया जा रहा है।

<jsp:attribute name="attibute-name">
                    value of defined attribute
</jsp:attribute>