JSP akcijske oznake
Što je JSP Action?
JSP radnje koriste konstrukciju u XML sintaksi za kontrolu ponašanja stroja servleta. Možemo dinamički umetnuti datoteku, ponovno upotrijebiti komponente graha, proslijediti korisnika na drugu stranicu itd. putem JSP radnji kao što su uključivanje i prosljeđivanje. Za razliku od direktiva, radnje se ponovno procjenjuju svaki put kada se pristupi stranici.
Sintaksa:
<jsp:action_name attribute="value" />
U ovom vodiču naučit ćete o JSP standardnim radnjama. JSP standardne radnje oznake koriste se za kontrolu ponašanja servlet motora.
Popis često korištenih akcijskih oznaka u JSP-u
Postoji 11 vrsta standardnih akcijskih oznaka u JSP-u, a ovdje je njihov potpuni popis.
Naziv radnje oznake | Sintaksa | Description |
---|---|---|
jsp:useBean | Koristi se za pozivanje i korištenje beana na JSP stranici. | |
jsp: uključiti | Uključuje drugu JSP datoteku u trenutnu datoteku tijekom obrade zahtjeva. | |
jsp:setProperty | Postavlja svojstvo graha. | |
jsp:getProperty | Dohvaća svojstvo beana i pretvara ga u niz za izlaz. | |
jsp: naprijed | Prosljeđuje zahtjev na drugi JSP ili statičnu stranicu. | |
jsp: dodatak | Uvodi Java komponente poput apleta ili beana u JSP i automatski generira oznake. | |
jsp:tijelo | Definira XML elemente koji se dinamički generiraju tijekom obrade zahtjeva. | |
jsp:tekst | tekst predloška | Koristi se za umetanje teksta predloška u JSP stranice, koje sadrže samo tekst i EL izraze. |
jsp:param | Prosljeđuje parametre unutar akcije jsp:plugin za dodavanje dodatnih podataka. | |
jsp:atribut | Definira XML atribute koji se dinamički generiraju. | |
jsp: izlaz | Određuje XML ili DOCTYPE deklaraciju koja će se koristiti u izlazu. |
jsp:useBean
- Ovaj naziv radnje koristi se kada želimo koristiti bean-ove na JSP stranici.
- S ovom oznakom možemo lako pozvati grah.
Sintaksa jsp-a: UseBean:
<jsp:useBean id="" class="" />
Ovdje specificira identifikator za ovaj bean i klasa je puna staza klase beana
Primjer:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Action JSP1</title> </head> <body> <jsp:useBean id="name" class="demotest.DemoClass"> </body> </html>
Objašnjenje koda:
Redak koda 10: U gornjem kodu koristimo "bean id" i "class path" beana.
jsp: uključiti
- Također se koristi za umetanje jsp datoteke u drugu datoteku, baš kao i uključivanje Direktive.
- Dodaje se tijekom faze obrade zahtjeva
Sintaksa jsp:include
<jsp:include page="page URL" flush="true/false">
Primjer:
Action_jsp2 (kodna linija 10) uključujemo datoteku date.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Date Guru JSP</title> </head> <body> <jsp:include page="date.jsp" flush="true" /> </body> </html>
Datum.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Insert title here</title> </head> <body> <p> Today's date: <%= {new java.util.Date()).toLocaleString()%> </p> </body> </html>
Objašnjenje koda:
Akcija_jsp2.jsp
Redak koda 10: U prvoj datoteci uključujemo datoteku date.jsp u action_jsp2.jsp
Datum.jsp:
Redak koda 11: Ispisujemo današnji datum u liniji koda 11 u date.jsp
Kada izvršite kod, sljedeći je izlaz.
Izlaz:
- Prikazuje današnji datum s vremenom jer je datoteka s datumom uključena u glavni jsp
jsp:setProperty
- Ovo svojstvo standardnih akcija u JSP-u koristi se za postavljanje svojstva beana.
- Moramo definirati bean prije postavljanja svojstva
Sintaksa:
<jsp:setproperty name="" property="" >
Ovdje naziv definira bean čije je svojstvo postavljeno i svojstvo koje želimo postaviti. Također, možemo postaviti vrijednost i atribut param. Ovdje vrijednost nije obavezna i definira vrijednost koja je dodijeljena svojstvu. Ovdje je param naziv parametra zahtjeva pomoću koje se vrijednost može dohvatiti. Primjer setpropertyja bit će prikazan u nastavku s getpropertyjem
jsp:getProperty
- Ovo se svojstvo koristi za dobivanje svojstva graha.
- Pretvara se u niz i konačno umeće u izlaz.
Sintaksa:
<jsp:getAttribute name="" property="" >
Ovdje treba definirati ime graha iz kojeg se mora dohvatiti svojstvo i graha. Atribut svojstva je ime svojstva beana koje treba dohvatiti.
Primjer setProperty i getProperty:
TestBean.java:
package demotest; import java.iO.Serializable; public class TestBean implements Serializable{ private String msg = "null"; public String getMsg() { return msg; } public void setMsg(String msg) { this.msg = msg; } }
Akcija_jsp3.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Guru Action 3</title> </head> <body> <jsp:useBean id="GuruTest" class="demotest.TestBean" /> <jsp:setProperty name="GuruTest" property="msg" value="GuruTutorial" /> <jsp:getProperty name="GuruTest" property="msg" /> </body> </html>
Objašnjenje koda:
TestBean.java:
Kodna linija 5: TheTestBean implementira klasu koja se može serijalizirati. To je bean klasa s postavljačima gettera u kodu.
Kodna linija 7: Ovdje uzimamo privatnu string varijablu msg kao "null"
Redak koda 9-14: Ovdje koristimo getere i postavljače varijable "msg".
Akcija_jsp3.jsp
Redak koda 10: Ovdje koristimo oznaku “useBean”, gdje specificira bean tj. TestBean koji se mora koristiti u ovoj jsp klasi
Redak koda 11: Ovdje postavljamo vrijednost za svojstvo msg za bean TestBean kao "GuruTutorial."
CodeLine12: Ovdje koristeći getProperty, dobivamo vrijednost svojstva msg za bean TestBean tj. GuruTutorial koji je tamo u izlazu
Kada izvršite gornji kod, dobit ćete sljedeći izlaz:
Izlaz:
U ovom primjeru, koristeći TestBean, pokušavamo postaviti svojstvo "gurutest" koristeći setProperty i dobiti vrijednost svojstva koristeći getProperty kao "GuruTutorial"
jsp: naprijed
Koristi se za prosljeđivanje zahtjeva na drugu jsp ili bilo koju statičnu stranicu.
Ovdje se zahtjev može proslijediti bez parametara ili s parametrima.
Sintaksa:
<jsp:forward page="value">
Ovdje vrijednost predstavlja gdje se zahtjev mora proslijediti.
Primjer:
Akcija_jsp41.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Guru Action JSP1</title> </head> <body> <jsp:forward page="jsp_action_42.jsp" /> </body> </html>
Jsp_akcija_42.jsp
Guru Action JSP2</title> </head> <body> <a>This is after forward page</a> </body> </html>
Objašnjenje koda
Akcija_jsp41.jsp
Redak koda 10: Ovdje koristimo prosljeđivanje JSP radnje za prosljeđivanje zahtjeva na stranicu spomenutu u atributu, tj. jsp_action_42.jsp
Jsp_akcija_42.jsp
Redak koda 10: Nakon što pozovemo action_jsp41.jsp, zahtjev se prosljeđuje ovoj stranici, a mi dobivamo izlaz kao "Ovo je nakon stranice za prosljeđivanje."
Kada izvršimo gornji kod, dobivamo sljedeći izlaz
Izlaz:
Pozivamo action_jsp41.jsp, ali zahtjev se prosljeđuje na jsp_action_42.jsp, a mi dobivamo izlaz s te stranice kao "Ovo je nakon stranice za prosljeđivanje".
jsp: dodatak
- Koristi se za upoznavanje Java komponente u jsp, tj. java komponente mogu biti applet ili bean.
- Otkriva preglednik i dodaje ili JSP oznake u datoteku
Sintaksa:
<jsp:plugin type="applet/bean" code="objectcode" codebase="objectcodebase">
- Ovdje tip specificira ili objekt ili bean
- Kod specificira naziv klase apleta ili beana
- Baza koda sadrži osnovni URL koji sadrži datoteke klasa
jsp:param
- Ovo je podređeni objekt gore opisanog objekta dodatka
- Mora sadržavati jednu ili više radnji za pružanje dodatnih parametara.
Sintaksa:
<jsp:params> <jsp:param name="val" value="val"/ > </jsp:params>
Primjer dodatka i parametra
Akcija_jsp5.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Action guru jsp5</title> </head> <body> <jsp:plugin type="bean" code="Student.class" codebase="demotest.Student"> <jsp:params> <jsp:param name="id" value="5" /> <jsp:param name="name" value="guru" /> </jsp:params> </jsp:plugin> </body> </html>
Student.java
package demotest; import java.io.Serializable; public class Student implements Serializable { public String getName () { return name; } public void setName (String name) { this.name = name; } public int getId() { return id; } public void setId (int id) { this.id = id; } private String name = "null"; private int id = 0; }
Objašnjenje koda:
Akcija_jsp5.jsp
Redak koda 10: Ovdje uzimamo jsp: plugin objekt gdje uzimamo tri atributa
- Vrsta – u ovom slučaju grah
- Kodni naziv datoteke
- Codebase – staza s nazivom paketa
Redak koda 11-14: Ovdje uzimamo jsp: params objekt ispod kojeg se nalazi podređeni param objekt sa atributima name i value, te u tim atributima postavljamo vrijednosti id i name.
Student.java
Kod 7- 17: Koristimo getere i settere za varijable id i name
Kod 19-20: inicijaliziramo varijable id i name.
Ovdje ćemo dobiti izlaz u slučaju kada će se postavljene vrijednosti parama koristiti u Student Beanu. U ovom slučaju, nećemo imati izlaz jer samo postavljamo i dobivamo vrijednosti parama, ali ih nigdje ne ispisujemo.
jsp:tijelo
- Ova se oznaka koristi za dinamičko definiranje XML-a, tj Elementi može generirati tijekom vremena zahtjeva nego vremena kompilacije.
- On zapravo definira XML, koji se generira dinamički tijelo elementa.
Sintaksa:
<jsp:body></jsp:body>
Ovdje pišemo XML body tag unutar ovih oznaka
jsp:atribut
- Ova oznaka se koristi za dinamičko definiranje XML-a, tj. elementi se mogu generirati tijekom vremena zahtjeva nego vremena kompilacije
- On zapravo definira atribut XML-a koji će biti generiran dinamički.
Sintaksa:
<jsp:attribute></jsp:attribute>
Ovdje pišemo oznaku atributa XML-a.
Primjer tijela i atributa:
Akcija_jsp6.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Action Guru JSP6</title> </head> <body> <jsp:element name="GuruXMLElement"> <jsp:attribute name="GuruXMLattribute"> Value </jsp:attribute> <jsp:body>Guru XML</jsp:body> </jsp:element> </body> </html>
Objašnjenje koda:
Redak koda 10: Ovdje definiramo element koji je dinamički generiran kao XML, a ime će mu biti GuruXMLElement
Redak koda 11-13: Ovdje definiramo atribut koji će XML atribut dinamički generiranog XML-a.
Redak koda 14: Ovdje imamo radnju tijela gdje pišemo XML tijelo koje će biti generirano u dinamički XML-u.
Kada izvršite gornji kod, dobit ćete sljedeći izlaz:
Izlaz:
Ovdje dobivamo izlaz iz oznake tijela generiranog XML-a.
jsp:tekst
- Koristi se za predložak teksta na JSP stranicama.
- Njegovo tijelo ne sadrži nikakve druge elemente, a sadrži samo tekst i EL izraze.
Sintaksa:
<jsp:text>template text</jsp:text>
Ovdje se tekst predloška odnosi samo na tekst predloška (koji može biti bilo koji generički tekst koji treba biti ispisan na jsp) ili bilo koji EL izraz.
Primjer:
Akcija_jsp7.jsp
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Guru Action JSP7</title> </head> <body> <jsp:text>Guru Template Text</jsp:text> </body> </html>
Objašnjenje koda:
Redak koda 10: Ovdje uzimamo tekstualni objekt za ispis teksta predloška
Kada izvršite gornji kod, dobit ćete sljedeći izlaz
Izlaz:
Dobivamo Guru Template Text, koji se nalazi unutar tekstualnih akcijskih objekata.
jsp: izlaz
- Određuje XML deklaraciju ili DOCTYPE deklaraciju jsp
- XML deklaracija i DOCTYPE su deklarirani izlazom
Sintaksa:
<jsp:output doctype-root-element="" doctype-system="">
Ovdje doctype-root-element označava korijenski element XML dokumenta u DOCTYPE. Doctype-system ukazuje na doctype koji se generira u izlazu i daje sistemski literal
Primjer:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Action Guru JSP8</title> </head> <body> <jsp:output doctype-root-element="html PUBLIC" doctype-system="http://www.w3.org/TR/html4/loose.dtd"/> </body> </html>
Objašnjenje koda:
Kodna linija 10: Ovdje koristimo izlazni akcijski objekt za generiranje DOCTYPE-a, a interno će se generirati u ovom formatu:
Za ovo neće biti izlaza jer će se to generirati interno.