Προγραμματισμός

* Γνώση Υπολογιστών >> Προγραμματισμός >> Προγραμματισμός Java

Βοήθημα για JSP Προσαρμοσμένη Ετικέτες

Προσαρμοσμένες ετικέτες σε JavaServer Pages ( JSP ) είναι οι ετικέτες XML που δημιουργείτε για να εκτελέσετε προσαρμοσμένες ενέργειες σε μια σελίδα JSP . Προσαρμοσμένες ετικέτες διαχωρίζουν το σχεδιασμό και τη διαμόρφωση μιας σελίδας JSP από τον κώδικα Java που οδηγεί τη δράση . Χρησιμοποιώντας προσαρμοσμένες ετικέτες κάνει τις σελίδες JSP σας πιο ευανάγνωστο , σας επιτρέπει την επαναχρησιμοποίηση κώδικα , και να κάνει την αίτησή σας πιο εύκολο να συντηρηθεί . Οι σχεδιαστές Web μπορούν να χρησιμοποιούν τον κωδικό σας χωρίς να γνωρίζουν τίποτα για Java απλά χρησιμοποιώντας τις προσαρμοσμένες ετικέτες που έχουν σχεδιαστεί στις σελίδες τους JSP . Προσαρμοσμένη Δομή Tag
Η

Προσαρμοσμένες ετικέτες ακολουθούν τους κανόνες XML σύνταξη , μετά την ακόλουθη βασική δομή : σώμα

Η πιο βασική ετικέτα έθιμο , που ονομάζεται μια απλή ετικέτα , έχει σώμα και δεν απαιτεί χαρακτηριστικά . Ένα έθιμο ετικέτα που περιέχει ένα σώμα ονομάζεται ετικέτα του σώματος . Προσαρμοσμένες ετικέτες μπορούν να είναι ένθετες . Χαρακτηριστικό τιμές μπορούν να ρυθμιστούν με χρήση JSP εκφράσεις . Υπάρχουν δύο βασικά συστατικά θα βασιστούμε για να δημιουργήσουμε μια προσαρμοσμένη ετικέτα: το Tag Library αρχείο περιγραφής και ο χειριστής ετικέτα κλάση Java . Αυτά τα συστατικά έχουν εγγραφεί στο δοχείο servlet στο αρχείο web.xml της εφαρμογής σας .
Εικόνων Δημιουργήστε το Tag Library περιγραφής αρχείου
Η

Το Tag Library περιγραφής ( TLD ) είναι ένα αρχείο αρχείο XML που περιέχει τα μεταδεδομένα καθορίζουν προσαρμοσμένες ετικέτες σας . Για παράδειγμα , το ακόλουθο αρχείο TLD ορίζει μια απλή ετικέτα με το όνομα " myTag " με ένα χαρακτηριστικό , " maxValue , " και όχι το σώμα . Το χαρακτηριστικό maxValue απαιτείται , και η τιμή μπορεί να οριστεί χρησιμοποιώντας μια έκφραση runtime ( καθορίζεται από το rtexprvalue στοιχείο ) , η οποία πρέπει να επιστρέφουν έναν ακέραιο .

εικόνων Δημιουργήστε το Handler Tag
Η

Κάθε προσαρμοσμένη ετικέτα έχει ένα χειριστή ετικέτα που θέτει και παίρνει τα χαρακτηριστικά του , επεξεργάζεται το σώμα , και υλοποιεί τη δράση . Ένας χειριστής 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 .
Εικόνων Ενημέρωση web.xml

Αφού έχετε δημιουργήσει το αρχείο TLD και την ετικέτα εξυπηρέτησης κατηγορίας , επεξεργαστείτε το αρχείο web.xml να δηλώσετε τη νέα βιβλιοθήκη tag σας με το δοχείο servlet . Προσθέστε ένα τμήμα taglib στο τέλος πριν από το τέλος ετικέτα

Χρησιμοποιήστε σας Custom Tags
Η

Στο αρχείο JSP που θα χρησιμοποιήσετε τις προσαρμοσμένες ετικέτες σας , χρησιμοποιήστε την οδηγία taglib να αναφέρει τη βιβλιοθήκη tag που θα χρησιμοποιήσετε και το πρόθεμα που θα χρησιμοποιήσετε να αναφερθώ στη βιβλιοθήκη σας . Μπορείτε είτε να αναφέρεται σε uri βιβλιοθήκη σας χρησιμοποιώντας τη διαδρομή :

<% @ taglib uri = " /WEB-INF/exampletaglib.tld " prefix = " π.χ. " % >

ή το όνομα που δώσατε στο web.xml ως taglib - uri :

<% @ taglib uri = " mytags " prefix = " π.χ. " % >

Χρήση προσαρμοσμένων tag σας σε σας JSP όπου θέλετε η δράση να συμβεί αυτό, χρησιμοποιώντας το πρόθεμα που δώσατε με την οδηγία taglib :



Η

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα