En guide til JSTL-biblioteket

1. Oversikt

JavaServer Pages Tag Library (JSTL) er et sett med koder som kan brukes til å implementere noen vanlige operasjoner som looping, betinget formatering og andre.

I denne opplæringen diskuterer vi hvordan du konfigurerer JSTL og hvordan du bruker de mange kodene.

2. Oppsett

For å aktivere JSTL-funksjoner, må vi legge til biblioteket i prosjektet vårt. For et Maven-prosjekt legger vi til avhengigheten i pom.xml fil:

 javax.servlet jstl 1.2 

Når biblioteket er lagt til i prosjektet vårt, vil det endelige oppsettet være å legge til kjernen JSTL-taggen og eventuelle andre tagger 'navneområdet til JSP ved hjelp av taglib-direktivet slik:

Deretter tar vi en titt på disse kodene som er bredt gruppert i fem kategorier.

3. Kjernemerker

JSTL-kjerne-tag-biblioteket inneholder koder for å utføre grunnleggende operasjoner som utskriftsverdier, variabeledeklarasjon, unntakshåndtering, utføring av iterasjoner og erklæring av betingede utsagn blant andre.

La oss ta en titt på kjernekoder.

3.1. De stikkord

brukes til å vise verdier som finnes i variabler eller resultatet av et implisitt uttrykk.

Den har tre attributter: verdi, standard og escapeXML. De escapeXML attributtutganger rå XML-koder som finnes i verdi attributt eller vedlegg.

Et eksempel på tag vil være:

3.2. De stikkord

De tag brukes til å deklarere omfangsvariabler i JSP. Vi kan også erklære navnet på variabelen og dens verdi i var og verdi attributter henholdsvis.

Et eksempel vil være av skjemaet:

3.3. De stikkord

De tag fjerner omfanget av variabler som tilsvarer tildeling null til en variabel. Det tar var og omfang attributt med omfang har en standardverdi på alle omfang.

Nedenfor viser vi et eksempel på bruk av stikkord:

3.4. De stikkord

De tag fanger ethvert unntak som kastes i kabinettet. Hvis unntaket blir kastet, lagres verdien i var attributt til denne taggen.

Typisk bruk kan se ut:

Og for å sjekke om unntaket blir kastet, bruker vi tag som vist nedenfor:

Unntaket er: $ {exceptionThrown}

Det er et unntak: $ {exceptionThrown.message}

3.5. De stikkord

De er en betinget tag som bare viser eller utfører vedlagte skript test attributt evaluerer til sant. Resultatet av evalueringen kan lagres i sin var Egenskap.

3.6. , og Merker

De er en overordnet tag som brukes til å utføre byttelignende eller if-else-uttrykk. Den har to undermerker; og som representerer if / else-if og else henholdsvis.

tar en test attributt som inneholder uttrykket som skal evalueres. Nedenfor viser vi et eksempel på bruk av disse kodene:

3.7. De stikkord

De tag håndterer henting og eksponering av innhold fra absolutte eller relative nettadresser.

Vi kan bruke url og var attributter for å holde URL-en, og innholdet hentet fra URL-en henholdsvis. For eksempel kan vi importere innhold fra en URL ved å:

3.8. De stikkord

De tag ligner Java for, mens eller gjør-mens-syntaksen. De gjenstander attributt inneholder listen over elementer som skal itereres over, mens begynne og slutt attributter holder henholdsvis start- og sluttindeksen (null indeksering).

tag har også en steg attributt som styrer størrelsen på indeksøkningen etter hver iterasjon. Nedenfor viser vi et eksempel på bruk:

 Punkt 

3.9. De stikkord

De tag brukes til å dele a String til tokens og gjentas gjennom dem.

Lik tag, den har en gjenstander attributt og et tillegg avgrense attributt som er avgrenseren for String som dette:

3.10. og Merker

De tag er nyttig for å formatere en URL med riktig forespørselskoding. den formaterte URL-en er lagret i var Egenskap.

tag har også en undermerk som brukes til å spesifisere URL-parametere. Vi viser et eksempel nedenfor:

3.11. De stikkord

De tag utfører en URL-omskriving og omdirigerer brukeren til siden spesifisert i dens url Egenskap. En typisk brukssak vil se slik ut:

4. Formatering av tagger

JSTL-formateringskatalogbiblioteket gir en praktisk måte å formatere tekst, tall, datoer, klokkeslett og andre variabler for bedre visning.

JSTL-formateringskoder kan også brukes til å forbedre internasjonaliseringen av et nettsted.

Før vi bruker disse formateringskodene, må vi legge til taglib i JSP:

La oss identifisere de forskjellige formateringskodene og hvordan de kan brukes.

4.1. De stikkord

De tag er nyttig i formatering av datoer eller klokkeslett. De verdi attributt inneholder datoen som skal formateres, og type attributt tar en av tre verdier; dato, klokkeslett eller begge deler.

har også en mønster attributt hvor vi kan spesifisere ønsket formateringsmønster. Nedenfor er et eksempel på et av mønstrene:

4.2. De stikkord

De tag ligner på stikkord.

Forskjellen er at med tag kan vi spesifisere formateringsmønsteret som den underliggende datoparseren skal forvente at datoverdien skal være i.

Vi kan analysere datoer:

4.3. De stikkord

De tag håndterer gjengivelse av tall i et bestemt mønster eller presisjon som kan være en av nummer, valuta eller prosentandel som spesifisert i dens type Egenskap. Et eksempel på bruk av ville vært:

4.4. De stikkord

De tag ligner på stikkord. Forskjellen er at med tag kan vi spesifisere formateringsmønsteret som den underliggende tallparseren skal forvente at tallet skal være i.

Vi kan bruke dette som:

4.5. De stikkord

De tag er en overordnet tag for stikkord. gjør pakken spesifisert i sin basenavn attributt til den vedlagte koder.

tag er nyttig for å muliggjøre internasjonalisering ettersom vi kan spesifisere stedsspesifikke objekter. Typisk bruk vil være av formen:

4.6. De stikkord

De tag brukes til å laste inn en ressurspakke i JSP og gjøre den tilgjengelig gjennom hele siden. Den lastede ressurspakken er lagret i var attributt til stikkord. Vi kan sette pakke ved å:

4.7. De stikkord

De -koden brukes til å angi lokalitet for seksjonene i JSP plassert etter erklæringen. Vanligvis vil vi sette dette ved:

fr_FR representerer lokaliteten som er fransk i dette tilfellet.

4.8. De stikkord

De tag er en overordnet tag som spesifiserer tidssonen som skal brukes av hvilken som helst tidsformatering eller parsing av handlinger av tags i innhegningen.

Denne tidssoneparameteren leveres av dens verdi Egenskap. Et eksempel på bruk vises nedenfor:

4.9. De stikkord

De tag kan brukes til å kopiere tidssonen som er angitt i dens verdi attributt til en variabel som er angitt i dens var Egenskap. Vi definerer dette med:

4.10. De stikkord

De <>> tag brukes til å vise internasjonaliseringsmelding. Den unike identifikatoren for meldingen som skal hentes, skal sendes til den nøkkel Egenskap.

En bestemt pakke for å slå opp meldingen som også kan spesifiseres gjennom bunt Egenskap.

Dette kan se slik ut:

4.11. De stikkord

De tag er nyttig for å spesifisere kodingstypen for skjemaer med en handlingstype post.

Navnet på tegnkodingen som skal brukes, blir gitt gjennom nøkkel attributt til stikkord.

La oss se et eksempel nedenfor:

5. XML-koder

JSTL XML-tagbibliotek gir praktiske måter å samhandle med XML-data i en JSP.

For å få tilgang til disse XML-kodene, vil vi legge til tagbiblioteket i vår JSP ved å:

La oss se på de forskjellige kodene i JSTL XML-taggbiblioteket.

5.1. De stikkord

De tag ligner på scriptlet-tag i JSP men brukes spesielt til XPath-uttrykk.

tag har en å velge og escapeXML attributter som brukes til å spesifisere XPath-uttrykket for å evaluere en String og for å muliggjøre rømming av henholdsvis spesielle XML-tegn.

Et enkelt eksempel er:

$ utgang ovenfor refererer til en forhåndslastet XSL-fil.

5.2. De stikkord

De tag brukes til å analysere XML-dataene som er spesifisert i xml eller dok attributt eller innhegning. Et typisk eksempel vil være:

5.3. De stikkord

De tag angir variabelen spesifisert i sin var attributt til det evaluerte XPath-uttrykket sendt til dets å velge Egenskap. Et typisk eksempel vil være:

5.4. De stikkord

De tag behandler kroppen sin hvis XPath-uttrykket som ble levert til det å velge attributt evaluerer til sant.

Resultatet av evalueringen kan lagres i sin var Egenskap.

En enkel brukstilfelle vil se ut:

 Dokumentet har minst ett element. 

5.5. De stikkord

De tag brukes til å looping over noder i et XML-dokument. XML-dokumentet leveres gjennom tag's å velge Egenskap.

Akkurat som kjernemerke, tag har begynn, slutt og steg attributter.

Dermed ville vi ha:

  • Gjenstandsnavn:

5.6. , og Merker

De tag er en overordnet tag som brukes til å utføre byttelignende eller if / else-if / else-uttrykk og ikke har noen attributter, men vedlegg og koder.

tag er lik if / else-if og tar a å velge attributt som inneholder uttrykket som skal evalueres.

tag ligner på annet / standard klausul og har ingen attributt.

Nedenfor viser vi et eksempel på bruk:

  Varekategori er Joggesko Varekategori er hæler Ukjent kategori. 

5.7. og Merker

De tag transformerer et XML-dokument i JSP ved å bruke et eXtensible Stylesheet Language (XSL) på det.

XML-dokumentet eller String som skal transformeres leveres til dok attributt mens XSL som skal brukes, overføres til xslt attributt til stikkord.

tag er en undermerk av -koden, og den brukes til å angi en parameter i transformasjonsstilarket.

En enkel brukstilfelle vil være av formen:

6. SQL-koder

JSTL SQL tag-biblioteket gir koder for å utføre relasjonell databasedrifts.

For å aktivere JSTL SQL-koder, legger vi til taglib i JSP:

JSTL SQL-koder støtter forskjellige databaser, inkludert MySQL, Oracle og Microsoft SQL Server.

Deretter ser vi på de forskjellige tilgjengelige SQL-kodene.

6.1. De stikkord

De tag brukes til å definere JDBC-konfigurasjonsvariablene.

Disse konfigurasjonsvariablene holdes i driver, url, bruker, passord og datakilde attributter til tag som vist nedenfor:

I ovennevnte, den var attributt har en verdi som identifiserer den tilknyttede databasen.

6.2. De stikkord

De tag brukes til å utføre en SQL SELECT-setning med resultatet lagret i en omfangsvariabel definert i dens var Egenskap. Vanligvis vil vi definere dette som:

 VELG * fra BRUKERE; 

tag's kvm attributt inneholder SQL-kommandoen som skal utføres. Andre attributter inkluderer maxRows, startRow, og datakilde.

6.3. De stikkord

De tag ligner på tag, men utfører bare SQL INSERT-, UPDATE- eller DELETE-operasjoner som ikke krever returverdi.

Et eksempel på bruk kan være:

 INSERT IN TO USERS (first_name, last_name, email) VALUES ('Grace', 'Adams', '[email protected]'); 

tag's var attributt inneholder antall rader som ble påvirket av SQL-setningen spesifisert i dens kvm Egenskap.

6.4. De stikkord

De tag er en under tag som kan brukes i eller tag for å oppgi en verdi for en verdi plassholder i SQL-setningen som dette:

 SLETT FRA BRUKERE HVOR e-post =? 

tag har ett enkelt attributt; verdi som holder verdien som skal leveres.

6.5. De stikkord

De tag brukes i eller tag for å oppgi en dato- og tidsverdi for en verdi plassholder i SQL-setningen.

Vi kan definere dette i vår JSP slik:

 UPDATE brukere SETT registrert =? HVOR e-post =? 

Som stikkord, tag har en verdi attributt med et tillegg type attributt hvis verdi kan være en av dato tid eller tidsstempel (dato og tid).

6.6. De stikkord

De tag brukes til å opprette JDBC-transaksjonslignende operasjon ved å gruppere og tagger sammen slik:

  UPDATE brukere SETT first_name = 'Patrick-Ellis' WHERE email = "[email protected]" UPDATE Users SET last_name = 'Nelson' WHERE email = '[email protected]' INSERT INTO Users (first_name, last_name, email) VALUES ('Grace ',' Adams ',' [email protected] '); 

tag sørger for at alle databaseoperasjoner behandles vellykket (begått) eller at alle mislykkes elegant (rulles tilbake) hvis det oppstår en feil i noen av operasjonene.

7. JSTL-funksjoner

JSTL-metoder er verktøy for datamanipulering innen JSP. Mens noen funksjoner tar forskjellige datatyper, er de fleste av dem dedikert til String manipulasjon.

For å aktivere JSTL-metoder i JSP, vil vi legge til taglib på siden vår:

La oss se på disse funksjonene og hvordan du bruker dem.

7.1. fn: inneholder () og fn: inneholderIgnoreCase ()

De fn: inneholder () metoden evaluerer en String for å sjekke om den inneholder et gitt underlag som dette:

Fant 'først' i streng

De fn: inneholder () funksjonen tar to String argumenter; den første er kilden String og det andre argumentet er substring. Det returnerer en boolsk avhengig av resultatet av evalueringen.

De fn: inneholderIgnoreCase () funksjon er en skifteløs følsom variant av fn: inneholder () metode og kan brukes slik:

Fant 'første' streng

Fant 'FIRST' streng

7.3. De fn: endsWith () Funksjon

De fn: endsWith () funksjon evaluerer en String for å sjekke om suffikset samsvarer med et annet underlag. Det tar to argumenter; det første argumentet er String hvis suffiks skal testes mens det andre argumentet er det testede suffikset.

Vi kan definere dette som:

Streng slutter med 'streng'

7.4. De fn: escapeXml () Funksjon

De fn: escapeXML () funksjonen brukes til å unnslippe XML-markering i inngangen String som dette:

$ {fn: escapeXml (streng1)}

7.5. De fn: indexOf () Funksjon

De fn: indexOf () funksjon ser gjennom en String og returnerer indeksen for den første forekomsten av et gitt underlag.

Det tar to argumenter; den første er kilden String og det andre argumentet er undergrunnen for å matche og returnere den første forekomsten.

fn: indexOf () funksjon returnerer et heltall og kan brukes som:

Indeks: $ {fn: indexOf (streng1, "første")}

7.6. De fn: bli med () Funksjon

De fn: bli med () funksjon sammenføyer alle elementene i en matrise til en enkelt String og kan brukes slik:

7.7. De fn: lengde () Funksjon

De fn: lengde () funksjon returnerer antall elementer i den gitte samlingen eller antall tegn i den gitte String.

De fn: lengde () funksjonen tar en enkelt Gjenstand som enten kan være en samling eller en String og returnerer et heltall som dette:

Lengde: $ {fn: lengde (streng1)}

7.8. De fn: erstatt () Funksjon

De fn: erstatt () funksjon erstatter alle forekomster av en substring i en streng med en annen String.

Det krever tre argumenter; kilden Streng, undergrunnen for å slå opp i kilden og String for å erstatte alle forekomster av substring akkurat slik:

7.9. De fn: split () Funksjon

De fn: split () funksjon utfører delt operasjon på en String ved å bruke den angitte skilletegnet Her er et eksempel på bruk:

7.10. De fn: startsWith () Funksjon

De fn: startsWith () funksjon sjekker prefikset til a String og returnerer sant hvis det samsvarer med en gitt understreng som dette:

String starter med 'This'

7.11. De fn: substring () Funksjon

De fn: substring () funksjon skaper en substring fra en kilde String ved angitte start- og sluttindekser. Vi bruker det slik:

7.12. De fn: substringAfter () Funksjon

De fn: substringAfter () funksjon sjekker en kilde String for et gitt underlag og returnerer String umiddelbart etter den første forekomsten av det spesifiserte underlaget.

Vi bruker det slik:

7.13. De fn: substringBefore () Funksjon

De fn: substringBefore () funksjon sjekker en kilde String for et gitt underlag og returnerer String like før den første forekomsten av den spesifiserte undergrunnen.

På vår JSP-side vil det se slik ut:

7.14. De fn: toLowerCase () Funksjon

De fn: to LowerCase () funksjon forvandler alle tegn i en String til små bokstaver og kan brukes slik:

7.15. De fn: toUpperCase () Funksjon

De fn: toUpperCase () funksjon forvandler alle tegn i en String til store bokstaver:

7.16. De fn: trim () Funksjon

De fn: trim () funksjon fjerner forrige og etterfølgende hvite mellomrom i a Streng:

9. Konklusjon

I denne omfattende artikkelen har vi sett på de forskjellige JSTL-kodene og hvordan du bruker dem.

Som vanlig kan du finne kodebiter på GitHub.


$config[zx-auto] not found$config[zx-overlay] not found