JSP akcijske oznake
โก Pametni saลพetak
JSP oznake akcija koriste XML sintaksu za kontrolu ponaลกanja servlet mehanizma, omoguฤujuฤi programerima ukljuฤivanje datoteka, prosljeฤivanje zahtjeva, rad s JavaBeans i ugraฤuju dinamiฤki sadrลพaj tijekom obrade zahtjeva.

ล to je JSP oznaka akcije?
JSP oznake akcija koriste XML sintaksne konstrukcije za kontrolu ponaลกanja servlet mehanizma. Programeri mogu dinamiฤki umetnuti datoteku, ponovno je koristiti JavaBean komponente prosljeฤuju korisnika na drugu stranicu i izvode sliฤne operacije tijekom izvoฤenja putem JSP Action Tags-ova poput include i forward. Za razliku od direktiva, action tag-ovi se ponovno procjenjuju svaki put kada se pristupa stranici, ลกto ih ฤini idealnim za dinamiฤko ponaลกanje tijekom obrade zahtjeva.
Sintaksa:
<jsp:action_name attribute="value" />
U ovom vodiฤu o standardnim JSP oznakama akcija, nauฤit ฤete kako svaka oznaka akcije funkcionira, ลกto radi i kako je primijeniti u pravoj JSP datoteci.
Popis ฤesto koriลกtenih oznaka akcija 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 | <jsp:include page=โpage URLโflush=โtrue/falseโ /> | 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. |
Sada kada imate cijeli popis, istraลพit ฤemo svaku od ovih JSP oznaka akcija jednu po jednu sa sintaksom i radnim primjerom.
jsp:useBean Oznaka akcije
- Ovaj naziv akcije se koristi kada ลพelite koristiti JavaBeanovi na JSP stranici.
- Pomoฤu ove oznake moลพete jednostavno pozvati bean i ponovno koristiti komponente na strani posluลพitelja.
Sintaksa jsp:useBean-a:
<jsp:useBean id="" class="" />
Ovdje id odreฤuje identifikator za ovaj bean, a class je puna putanja 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:
Code Redak 10: U gornjem kodu koristite "bean id" i "class path" beana.
jsp:ukljuฤi oznaku akcije
- jsp:include se koristi za umetanje JSP datoteke u drugu datoteku tijekom obrade zahtjeva, sliฤno kao i ukljuฤivanje Direktive.
- Dodaje se tijekom faze obrade zahtjeva, ลกto znaฤi da se ukljuฤeni sadrลพaj procjenjuje svaki put kada se stranica zatraลพi.
Sintaksa jsp:include:
<jsp:include page="page URL" flush="true/false">
Primjer:
U Action_jsp2 (Code Redak 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
Code Redak 10: U prvoj datoteci ukljuฤujemo datoteku date.jsp u action_jsp2.jsp.
Datum.jsp:
Code Redak 11: Danaลกnji datum ispisujemo u liniji koda 11 u date.jsp.
Kada izvrลกite kod, izlaz je sljedeฤi.
Izlaz:
- Prikazuje danaลกnji datum s vremenom jer je datoteka s datumom ukljuฤena u glavnu JSP stranicu.
Oznaka akcije jsp:setProperty
- Ova standardna akcija u JSP-u se koristi za postavljanje svojstva beana.
- Prije postavljanja svojstva morate definirati bean.
Sintaksa:
<jsp:setProperty name="" property="" >
Ovdje name definira bean ฤije je svojstvo postavljeno, a property je svojstvo koje ลพelite postaviti. Takoฤer moลพete postaviti atribute value i param. Ovdje value nije obavezan i definira vrijednost koja je dodijeljena svojstvu. Ovdje je param naziv parametra zahtjeva pomoฤu kojeg se vrijednost moลพe dohvatiti. Primjer setProperty bit ฤe prikazan u nastavku s getProperty.
Oznaka akcije jsp:getProperty
- Ova akcija se koristi za dobivanje svojstva graha.
- Pretvara svojstvo u niz znakova i na kraju ga ubacuje u izlaz.
Sintaksa:
<jsp:getProperty name="" property="" >
Ovdje je naziv beana iz kojeg se svojstvo treba dohvatiti, a bean treba biti definiran. Atribut svojstva je naziv svojstva beana koje se 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:
Code linija 5TestBean implementira Serializable klasu. To je bean klasa s getterima i setterima u kodu.
Code linija 7Ovdje uzimamo privatnu string varijablu msg kao "null".
Code Linija 9-14Ovdje koristimo gettere i settere varijable โmsgโ.
Akcija_jsp3.jsp
Code Redak 10: Ovdje koristimo oznaku โuseBeanโ koja odreฤuje bean (TestBean) koji se mora koristiti u ovoj JSP klasi.
Code Redak 11: Ovdje postavljamo vrijednost za svojstvo msg za bean TestBean kao "GuruTutorijalโ.
Code Redak 12: Ovdje, koristeฤi getProperty, dobivamo vrijednost svojstva msg za bean TestBean (GuruVodiฤ), ลกto je prikazano u izlazu.
Kada izvrลกite gornji kod, dobit ฤete sljedeฤi izlaz:
Izlaz:
U ovom primjeru, koristeฤi TestBean, postavljamo svojstvo "msg" pomoฤu setProperty i dobivamo vrijednost svojstva pomoฤu getProperty kao "GuruTutorijalโ.
Oznaka radnje jsp:forward
Oznaka akcije jsp:forward koristi se za prosljeฤivanje zahtjeva na drugi JSP ili bilo koju statiฤku 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
Code Redak 10: Ovdje koristimo akciju forward JSP za prosljeฤivanje zahtjeva na stranicu navedenu u atributu, tj. jsp_action_42.jsp.
Jsp_akcija_42.jsp
Code Redak 10: Nakon ลกto pozovemo action_jsp41.jsp, zahtjev se prosljeฤuje na ovu stranicu i 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 i dobivamo izlaz s te stranice kao โOvo je nakon stranice za prosljeฤivanjeโ.
Oznaka radnje jsp:plugin
- Koristi se za upoznavanje Java komponente u JSP, gdje je Java Komponente mogu biti ili applet ili bean.
- Detektira preglednik i dodaje ili oznake u datoteku.
Sintaksa:
<jsp:plugin type="applet/bean" code="objectcode" codebase="objectcodebase">
- Ovdje tip odreฤuje ili objekt ili bean.
- Code odreฤuje naziv klase apleta ili beana.
- Codebaza sadrลพi bazu URL koji sadrลพi datoteke klasa.
Oznaka radnje jsp:param
- Ovo je podreฤeni objekt objekta dodatka opisanog gore.
- 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
Code Redak 10: Ovdje koristimo objekt jsp:plugin gdje uzimamo tri atributa.
- Vrsta โ u ovom sluฤaju to je grah.
- Code โ naziv datoteke.
- Codebaza โ putanja s nazivom paketa.
Code Redak 11-14: Ovdje uzimamo objekt jsp:params, ispod kojeg se nalazi podreฤeni objekt param s atributima name i value, te u te atribute postavljamo vrijednosti id i name.
Student.java
Code -7 17: Za varijable id i name koristimo gettere i settere.
Code -19 20: Inicijaliziramo varijable id i name.
Ovdje ฤemo dobiti izlaz u sluฤaju kada ฤe se postavljene vrijednosti parametra koristiti u Student beanu. U ovom sluฤaju neฤemo imati nikakav izlaz jer samo postavljamo i dobivamo vrijednosti parametra, ali ga nigdje ne ispisujemo.
Oznaka radnje jsp:body
- Ova oznaka se koristi za dinamiฤko definiranje XML-a, gdje je Elementi moลพe se generirati tijekom vremena zahtjeva, a ne tijekom vremena kompilacije.
- Definira XML, koji se dinamiฤki generira kao tijelo elementa.
Sintaksa:
<jsp:body></jsp:body>
Ovdje piลกemo XML oznaku tijela unutar ovih oznaka.
jsp:attribute Oznaka radnje
- Ova oznaka se koristi za dinamiฤko definiranje XML-a, gdje se elementi mogu generirati tijekom vremena zahtjeva, a ne tijekom vremena kompilacije.
- Definira atribut XML-a koji ฤe se dinamiฤki generirati.
Sintaksa:
<jsp:attribute></jsp:attribute>
Ovdje piลกemo atributnu oznaku 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:
Code Redak 10: Ovdje definiramo element koji se dinamiฤki generira kao XML, a njegovo ime ฤe biti GuruXMLElement.
Code Redak 11-13: Ovdje definiramo atribut, koji ฤe biti XML atribut dinamiฤki generiranog XML-a.
Code Redak 14: Ovdje imamo akciju tijela, gdje piลกemo XML tijelo koje ฤe se dinamiฤki generirati.
Kada izvrลกite gornji kod, dobit ฤete sljedeฤi izlaz:
Izlaz:
Ovdje dobivamo izlaz iz oznake tijela generiranog XML-a.
Oznaka radnje jsp:text
- Koristi se za umetanje teksta predloลกka u JSP stranice.
- 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 ispisati na JSP-u) 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:
Code Redak 10: Ovdje uzimamo tekstualni objekt za ispis teksta predloลกka.
Kada izvrลกite gornji kod, dobit ฤete sljedeฤi izlaz.
Izlaz:
Dobivamo Guru Predloลพak teksta, koji se postavlja unutar objekta tekstualne akcije.
Oznaka radnje jsp:output
- Specificira XML deklaraciju ili DOCTYPE deklaraciju JSP-a.
- XML deklaracija i DOCTYPE se deklariraju izlazom.
Sintaksa:
<jsp:output doctype-root-element="" doctype-system="">
Ovdje, doctype-root-element oznaฤava korijenski element XML dokumenta u DOCTYPE-u. Doctype-system oznaฤava 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:
Code Redak 10: Ovdje koristimo objekt izlazne akcije za generiranje DOCTYPE-a, a interno ฤe se generirati u ovom formatu:
Neฤe biti vidljivog izlaza za ovo jer ฤe se generirati interno.





