Προσαρμοσμένες ετικέτες ακολουθούν τους κανόνες XML σύνταξη , μετά την ακόλουθη βασική δομή : Η πιο βασική ετικέτα έθιμο , που ονομάζεται μια απλή ετικέτα , έχει σώμα και δεν απαιτεί χαρακτηριστικά . Ένα έθιμο ετικέτα που περιέχει ένα σώμα ονομάζεται ετικέτα του σώματος . Προσαρμοσμένες ετικέτες μπορούν να είναι ένθετες . Χαρακτηριστικό τιμές μπορούν να ρυθμιστούν με χρήση JSP εκφράσεις . Υπάρχουν δύο βασικά συστατικά θα βασιστούμε για να δημιουργήσουμε μια προσαρμοσμένη ετικέτα: το Tag Library αρχείο περιγραφής και ο χειριστής ετικέτα κλάση Java . Αυτά τα συστατικά έχουν εγγραφεί στο δοχείο servlet στο αρχείο web.xml της εφαρμογής σας . Το Tag Library περιγραφής ( TLD ) είναι ένα αρχείο αρχείο XML που περιέχει τα μεταδεδομένα καθορίζουν προσαρμοσμένες ετικέτες σας . Για παράδειγμα , το ακόλουθο αρχείο TLD ορίζει μια απλή ετικέτα με το όνομα " myTag " με ένα χαρακτηριστικό , " maxValue , " και όχι το σώμα . Το χαρακτηριστικό maxValue απαιτείται , και η τιμή μπορεί να οριστεί χρησιμοποιώντας μια έκφραση runtime ( καθορίζεται από το rtexprvalue στοιχείο ) , η οποία πρέπει να επιστρέφουν έναν ακέραιο . Xml version = " 1.0 " encoding = " ISO - " ! > Κάθε προσαρμοσμένη ετικέτα έχει ένα χειριστή ετικέτα που θέτει και παίρνει τα χαρακτηριστικά του , επεξεργάζεται το σώμα , και υλοποιεί τη δράση . Ένας χειριστής tag είναι μια κλάση Java που υλοποιεί javax.servlet.jsp.tagext.Tag ή , ακόμα καλύτερα , εκτείνεται μια υποκατηγορία του Tag . Μαθήματα χειρισμού Tag έχουν πρόσβαση στα ίδια σιωπηρή αντικείμενα όπως JSP σελίδες, όπως το αίτημα , απάντηση , και διάρκεια . Δημιουργήστε μια απλή κλάση χειριστή ετικέτα με την επέκταση javax.servlet.jsp.tagext.TagSupport . Εφαρμογή του doStartTag , doEndTag , και τις μεθόδους απελευθέρωσης . Η doStartTag εκτελείται όταν η ετικέτα έναρξης συναντάται , και εκτελεί την κύρια δράση της ετικέτας , όπως η εκτέλεση υπολογισμών και εκτύπωση των αποτελεσμάτων . Public int doStartTag ( ) ρίχνει JspException { try { ... κωδικός σας ... } αλιευμάτων ( Εξαίρεση ex ) { ... αντιμετώπιση των λαθών ... } επιστροφή SKIP_BODY ? } Η μέθοδος doEndTag εκτελείται όταν η ετικέτα τέλους συναντήσει . Επιστροφή EVAL_PAGE αν το υπόλοιπο της σελίδας JSP πρέπει να αξιολογηθούν . Η μέθοδος απελευθέρωσης θα πρέπει να καθαρίσει και να απελευθερώσει όλα τα μέσα που χρησιμοποιούνται από την τάξη χειριστή ετικέτα . Εάν ετικέτα έθιμο σας έχει χαρακτηριστικά , περιλαμβάνουν μια μεταβλητή μέλος και να εφαρμόσουν σετ και να πάρει τις μεθόδους για κάθε χαρακτηριστικό . Εάν δεν απαιτείται το χαρακτηριστικό , ορίσετε μια προεπιλεγμένη τιμή . Για την απαιτούμενη maxValue χαρακτηριστικό : ιδιωτικού int maxValue ? Public void setMaxValue ( int val ) { maxValue = val ? } Public int getMaxValue ( ) {επιστροφή maxValue ? } Χειριστές ετικέτα του σώματος που δεν αλληλεπιδρούν με το περιεχόμενο του σώματος της ετικέτας εκτείνονται javax.servlet.jsp.tagext.TagSupport . Εφαρμόσουν τις ίδιες μεθόδους όπως και για μια απλή ετικέτα . Επίσης να εφαρμόσουν τη μέθοδο doAfterBody να αναλύσει και να χρησιμοποιήσετε το περιεχόμενο του σώματος . Για το σώμα χειριστές ετικέτα που πρέπει να αλληλεπιδρούν με το περιεχόμενο σώμα της ετικέτας , να παρατείνει javax.servlet.jsp.tagext.BodyTagSupport και οι δύο μέθοδοι doInitBody και doAfterBody . Αφού έχετε δημιουργήσει το αρχείο TLD και την ετικέτα εξυπηρέτησης κατηγορίας , επεξεργαστείτε το αρχείο web.xml να δηλώσετε τη νέα βιβλιοθήκη tag σας με το δοχείο servlet . Προσθέστε ένα τμήμα taglib στο τέλος πριν από το τέλος ετικέτα Στο αρχείο JSP που θα χρησιμοποιήσετε τις προσαρμοσμένες ετικέτες σας , χρησιμοποιήστε την οδηγία taglib να αναφέρει τη βιβλιοθήκη tag που θα χρησιμοποιήσετε και το πρόθεμα που θα χρησιμοποιήσετε να αναφερθώ στη βιβλιοθήκη σας . Μπορείτε είτε να αναφέρεται σε uri βιβλιοθήκη σας χρησιμοποιώντας τη διαδρομή : <% @ taglib uri = " /WEB-INF/exampletaglib.tld " prefix = " π.χ. " % > ή το όνομα που δώσατε στο web.xml ως taglib - uri : <% @ taglib uri = " mytags " prefix = " π.χ. " % > Χρήση προσαρμοσμένων tag σας σε σας JSP όπου θέλετε η δράση να συμβεί αυτό, χρησιμοποιώντας το πρόθεμα που δώσατε με την οδηγία taglib :
Εικόνων Δημιουργήστε το Tag Library περιγραφής αρχείου
Η
Η
Εικόνων Ενημέρωση web.xml
Χρησιμοποιήστε σας Custom Tags
Η
Η
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα