Hem > Java > JSP - Skapa anpassade taggar

JSP - Skapa egna etiketter

JSP Taggar fungerar som en plugin till din JSP-sidor. Dessa är i huvudsak Java-klasser som får exekveras när JSP-sidan får återges av server och webbläsare. JSP kommer med i bygga Taggar som jsp: include, JSP: framåt, men de är inte tillräckliga för att tillgodose webben världen. För att lösa detta problem kan du designa taggar som baseras på ditt företag krav. Denna artikel kommer att guida dig hur vi kan skapa ett anpassade taggar för JSP.

JSP Custom Tags:
Alla anpassade JSP-taggar genomför Tag Interface. För att få veta mer information om Tag Interface hänvisar till anpassade JSP-taggar Interface . Men vi är inte direkt använda taggen gränssnitt i stället använder vi TagSupport och BodyTagSupport beror detta på något fel begånget genomförandet av Tag Interface redan tillämpas i TagSupport och BodyTagSupport så det blir lättare att skriva anpassad tagg kod.

Skillnad mellan TagSupport och BodyTagSupport:
I TagSupport definierar vi alla attribut som krävs för att visa data där som i BodyTagSupport vi passerar attribut och kropp innehåll till JSP Tag. BodyTagSupport används inte ofta om du inte vill manipulera kroppen innehåll. Passing attribut till anpassade taggar är inte obligatoriskt.

Exempel på TagSupport:

  <test :showTime /> 

Exempel på BodyTagSupport:

  <test :showTime>
 Aktuell tid:
 </ Test> 

Din e-post:


Om du ser i BodyTagSupport vi passerar något kropp innehållet till XML-tagg. Även om kroppen innehåll är inte obligatorisk men det kommer att försämra prestandan om du inte använder kroppen för din egen tagg och du inte använder TagSupport.

Viktig funktion Samtal anpassade JSP Tag Kod:
doStartTag ():
Denna funktion får anropas när JSP-taggen får initieras. Denna funktion ett heltal som redan är definierat i Tag gränssnittet i form av variabelnamn. Vi återvänder normalt SKIP_BODY. SKIP_BODY berättar JSP motor för att hoppa själva JSP taggen.

doEndTag ():
Denna funktion får kallas just efter doStartTag () funktion behandlingen är klar. Liknande doStartTag () funktionen returnerar också ett heltal. Normalt vi tillbaka EVAL_BODY. EVAL_BODY berättar JSP motorn att bearbeta de återstående JSP kod.

Enkel Custom Tag Kod:

  1
 2
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
  ; paket com.hiteshagrawal;

 ; import java.io. *;
 ; import javax.servlet.jsp .*;
 ; import javax.servlet.jsp.tagext.TagSupport;

 TagSupport { public class Test sträcker TagSupport (
    doStartTag ( ) throws JspException { public int doStartTag () kastar JspException (
       try (
    	   ( ) ; JspWriter ut = pageContext. GetOut ();
    	   "This is my first tag!" ) ; ut. print ("Detta är min första tag!");
       ( IOException ioe ) { ) Catch (IOException OIE) (
      	  ; OIE. printStackTrace ();
          "IOException while writing data to page" + ioe. getMessage ( ) ) ; kasta nytt JspException ("IOException medan data skrivs till sida" + OIE. GetMessage ());
       )
       återvända SKIP_BODY;
    )

    doEndTag ( ) throws JspException { public int doEndTag () kastar JspException (
      återvända EVAL_PAGE;
    )
 ) 

Kod Förklaring:

  • Klass utvidgar TagSupport anger vi inte använder BodyTagSupport klass.
  • doStartTag ()-funktionen skriver en String innehåll med pageContext.getOut (), detta till utgång kan få ett skriftligt på din JSP-sidan.
  • doStartTag () returnerar funktionen SKIP_BODY. Värdet för denna variabel definieras redan i Tag Interface.
  • doEndTag () returnerar funktionen EVAL_PAGE. Värdet för denna variabel definieras redan i Tag Interface.

Genomförande JSP Java-kod Tag i JSP:
Nu vårt nästa steg skulle vara att skapa en Tag Descriptor Bibliotek (TLD) fil. Denna fil talar om för JSP Engine om anpassade JSP-taggar som får användas inom JSP koden.

  = "ISO-8859-1" ?> <? Xml version = "1.0" encoding = "iso-8859-1"?>
 <! DOCTYPE taglib public "- / / Sun Microsystems, Inc. / / DTD JSP Tag Library 1.2 / / EN" "http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
 <taglib>
	 1.0 </tlib > <tlib -version> 1,0 </ tlib>
	 1.2 </jsp > <jsp -version> 1,2 </ JSP>
	 test </short > <short -name> test </ kort>

	 <tag>
		 <name> TestingTag </ name>
    		 <tagclass> com.hiteshagrawal.Test </ tagclass>
    		 <bodycontent> tomma </ bodycontent>
	 </ Tagg>
 </ Taglib> 

Om du ser jag har definierat en toppdomän fil för ovan skriven JSP kod. Din anpassade JSP-taggar ska skrivas innanför "tag" element. Låt mig explaing skriftliga xml-fil:

  • tlib-version - Som namnet antyder den hänvisar till Tag Library Version
  • JSP-version - Avser den JSP version du använder
  • kort namn - Avser namnet på den anpassade JSP-taggar att din JSP-koden kommer att hänvisa till
  • namn - Avser namnet Custom Tags
  • tagclass - Refersn till klassen konstruktion som används för din JSP-taggar
  • bodycontent - Den används i fall vi använder BodyTagSupport i TagSupport behåller vi dessa tomma

Spara denna TLD fil med namn test.tld i din WEB-INF-mappen.

Referens TLD Arkiv i JSP-sidan:
Det finns flera sätt att refererence TLD-filen i JSP och jag diskuterar en av dem i denna artikel.

JSP implementera anpassade JSP-Tags:

  "test" uri = "/WEB-INF/test.tld" %> <% @ Taglib prefix = "test" uri = "/ WEB-INF/test.tld"%>
 <Html>
 <Head>
   JSP Custom Tag Demo </ title > <Title> anpassade JSP-taggar Demo </ title>
 </ Head>
 <Body>
		 TestingTag /> <Test: TestingTag />
 </ Body>
 </ Html> 

JSP Kod Förklaring:
Om du ser jag är en hänvisning till taglib som får kallas vid namn "test". Även jag går sökvägen till TLD-filen blir det hänvisar till.
Slutligen kräver jag Anpassad Tag som anges i rad nr: 7

JSP Utgång:
När vi utfört ovanstående JSP-koden får vi följande resultat.

  Detta är min första tag! 


Anpassad sökning

Populära artiklar:

Dela och njut:
  • Print
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • DZone
  • email
  • IndianPad
  • LinkedIn
  • Live
  • MySpace
  • Netvibes
  • RSS
  • Technorati
  • Yahoo! Bookmarks
  • Yahoo! Buzz
  • Reddit
  • Add to favorites
  • PDF
  • Twitter
Tags: Kategorier: Java Taggar:
  1. 28 december, 2008 kl 00:04 | # 1

    Egentligen är det enklaste sättet att genomföra dem är att använda taggen filer. IWebMvc ställer höga användningen av taggarna, både skapas av filer och / eller klasser. Ta en titt om intresse i några "verkliga världen" exempel.

  2. Den
    29 dec 2008 kl 00:21 | # 2

    Se Coldtags även svit: http://www.servletsuite.com/jsp.htm
    Det är en största uppsättning anpassade JSP-taggar över nätet.

  3. 17 januari 2009 kl 03:23 | # 3

    Bra handledning.

  4. Yuva
    6 maj 2009 kl 22:24 | # 4

    Nice tutorial, lätt att förstå. Tack för den samma.

  1. 27 mars 2010 vid 08:30 | # 1