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.





