Tagi akcji JSP
โก Inteligentne podsumowanie
Tagi akcji JSP wykorzystujฤ skลadniฤ XML do kontrolowania zachowania silnika serwletรณw, umoลผliwiajฤ c programistom doลฤ czanie plikรณw, przekazywanie ลผฤ daล i pracฤ z JavaBeans i osadzanie dynamicznej zawartoลci podczas przetwarzania ลผฤ dania.

Czym jest znacznik akcji JSP?
Tagi akcji JSP wykorzystujฤ konstrukcje skลadni XML do kontrolowania dziaลania silnika serwletรณw. Programiลci mogฤ dynamicznie wstawiaฤ pliki i ponownie je wykorzystywaฤ. JavaKomponenty Bean przekierowujฤ uลผytkownika do innej strony i wykonujฤ podobne operacje w czasie wykonywania za poลrednictwem znacznikรณw akcji JSP, takich jak include i forward. W przeciwieลstwie do dyrektyw, znaczniki akcji sฤ ponownie oceniane przy kaลผdym dostฤpie do strony, co czyni je idealnymi do dynamicznego zachowania podczas przetwarzania ลผฤ daล.
Skลadnia:
<jsp:action_name attribute="value" />
W tym samouczku dotyczฤ cym standardowych znacznikรณw akcji JSP dowiesz siฤ, jak dziaลa kaลผdy znacznik akcji, co robi i jak go zastosowaฤ w rzeczywistym pliku JSP.
Lista czฤsto uลผywanych tagรณw akcji w JSP
W JSP wystฤpuje 11 typรณw standardowych znacznikรณw akcji. Oto ich peลna lista.
| Nazwa znacznika akcji | Skลadnia | OPIS |
|---|---|---|
| jsp:useBean | Sลuลผy do wywoลywania i uลผywania obiektรณw bean na stronie JSP. | |
| jsp: uwzglฤdnij | <jsp:include page=โpage URLโ flush=โprawda/faลszโ /> | Dodaje inny plik JSP do bieลผฤ cego pliku podczas przetwarzania ลผฤ dania. |
| jsp:setProperty | Ustawia wลaลciwoลฤ ziarna. | |
| jsp:getProperty | Pobiera wลaลciwoลฤ ziarna i konwertuje jฤ na ciฤ g znakรณw do wyprowadzenia. | |
| jsp: do przodu | Przekazuje ลผฤ danie do innego JSP lub strony statycznej. | |
| jsp: wtyczka | Przedstawia Java komponenty takie jak aplety czy ziarna do JSP i automatycznie generuje tagi. | |
| jsp:treลฤ | Definiuje elementy XML, ktรณre sฤ generowane dynamicznie podczas przetwarzania ลผฤ dania. | |
| jsp:tekst | tekst szablonu | Sลuลผy do wstawiania tekstu szablonu do stron JSP zawierajฤ cych tylko tekst i wyraลผenia EL. |
| jsp:parametry | Przekazuje parametry w ramach akcji jsp:plugin w celu dodania dodatkowych danych. | |
| jsp:atrybut | Definiuje atrybuty XML, ktรณre sฤ generowane dynamicznie. | |
| jsp:wyjลcie | Okreลla deklaracjฤ XML lub DOCTYPE, ktรณra ma zostaฤ uลผyta w danych wyjลciowych. |
Teraz, gdy masz juลผ peลnฤ listฤ, omรณwimy po kolei kaลผdy z tych znacznikรณw akcji JSP, podajฤ c skลadniฤ i przykลad dziaลania.
jsp:useBean Znacznik akcji
- Ta nazwa akcji jest uลผywana, gdy chcesz uลผyฤ JavaFasole na stronie JSP.
- Za pomocฤ tego znacznika moลผna ลatwo wywoลaฤ bean i ponownie wykorzystaฤ komponenty po stronie serwera.
Skลadnia jsp:useBean:
<jsp:useBean id="" class="" />
Tutaj id okreลla identyfikator tego ziarna, a class to peลna ลcieลผka klasy ziarna.
Przykลad:
<%@ 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>
Wyjaลnienie kodu:
Code Linia 10: W powyลผszym kodzie uลผywasz โidentyfikatora ziarnaโ i โลcieลผki klasyโ ziarna.
jsp:include Znacznik akcji
- jsp:include sลuลผy do wstawiania pliku JSP do innego pliku podczas przetwarzania ลผฤ dania, podobnie jak include Dyrektywy.
- Jest on dodawany na etapie przetwarzania ลผฤ dania, co oznacza, ลผe โโuwzglฤdniona treลฤ jest oceniana za kaลผdym razem, gdy strona jest ลผฤ dana.
Skลadnia jsp:include:
<jsp:include page="page URL" flush="true/false">
Przykลad:
W Action_jsp2 (Code W wierszu 10) doลฤ czamy plik 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>
Data.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>
Wyjaลnienie kodu:
Akcja_jsp2.jsp
Code Linia 10: W pierwszym pliku doลฤ czamy plik date.jsp do action_jsp2.jsp.
Data.jsp:
Code Linia 11: W wierszu kodu 11 pliku date.jsp drukujemy dzisiejszฤ datฤ.
Po wykonaniu kodu otrzymasz nastฤpujฤ cy wynik.
Wyjลcie:
- Wyลwietla dzisiejszฤ datฤ wraz z godzinฤ , poniewaลผ plik daty jest zawarty na gลรณwnej stronie JSP.
jsp:setProperty Akcja Tag
- Ta standardowa akcja w JSP jest uลผywana do ustawienia wลaลciwoลci ziarna.
- Musisz zdefiniowaฤ ziarno przed ustawieniem wลaลciwoลci.
Skลadnia:
<jsp:setProperty name="" property="" >
W tym przypadku nazwa definiuje bean, ktรณrego wลaลciwoลฤ jest ustawiona, a wลaลciwoลฤ to wลaลciwoลฤ, ktรณrฤ chcesz ustawiฤ. Moลผesz rรณwnieลผ ustawiฤ atrybuty value i param. W tym przypadku wartoลฤ nie jest obowiฤ zkowa i definiuje wartoลฤ przypisanฤ do wลaลciwoลci. Param to nazwa parametru ลผฤ dania, za pomocฤ ktรณrego moลผna pobraฤ wartoลฤ. Przykลad setProperty zostanie zademonstrowany poniลผej za pomocฤ getProperty.
jsp:getProperty Znacznik akcji
- Ta akcja sลuลผy do pobrania wลaลciwoลci ziarna.
- Konwertuje wลaลciwoลฤ na ciฤ g znakรณw i na koniec wstawia go do wyjลcia.
Skลadnia:
<jsp:getProperty name="" property="" >
W tym przypadku nazwa to bean, z ktรณrego wลaลciwoลฤ ma zostaฤ pobrana, a bean powinien zostaฤ zdefiniowany. Atrybut wลaลciwoลci to nazwa wลaลciwoลci beana, ktรณra ma zostaฤ pobrana.
Przykลad 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; } }
Akcja_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>
Wyjaลnienie kodu:
TestBean.java:
Code linia 5TestBean implementuje klasฤ Serializable. Jest to klasa bean z metodami get i set w kodzie.
Code linia 7: Tutaj bierzemy prywatnฤ zmiennฤ ciฤ gu msg jako โnullโ.
Code Linia 9-14: Tutaj uลผywamy getterรณw i setterรณw zmiennej โmsgโ.
Akcja_jsp3.jsp
Code Linia 10: Tutaj uลผyliลmy znacznika โuseBeanโ, ktรณry okreลla ziarno (TestBean), ktรณre ma zostaฤ uลผyte w tej klasie JSP.
Code Linia 11: Tutaj ustawiamy wartoลฤ wลaลciwoลci msg dla bean TestBean jako โGuruSeminarium".
Code Linia 12: Tutaj, uลผywajฤ c metody getProperty, pobieramy wartoลฤ wลaลciwoลci msg dla beana TestBean (GuruSamouczek), ktรณry jest widoczny na wyjลciu.
Po wykonaniu powyลผszego kodu otrzymasz nastฤpujฤ cy wynik:
Wyjลcie:
W tym przykลadzie, uลผywajฤ c TestBean, ustawiamy wลaลciwoลฤ โmsgโ za pomocฤ setProperty i pobieramy wartoลฤ wลaลciwoลci za pomocฤ getProperty jako โGuruSeminarium".
jsp:forward Znacznik akcji
Znacznik akcji jsp:forward sลuลผy do przekazywania ลผฤ dania do innego JSP lub dowolnej strony statycznej.
Tutaj ลผฤ danie moลผe zostaฤ przekazane bez parametrรณw lub z parametrami.
Skลadnia:
<jsp:forward page="value">
Tutaj wartoลฤ reprezentuje miejsce, w ktรณrym ลผฤ danie musi zostaฤ przekazane.
Przykลad:
Akcja_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_action_42.jsp
Guru Action JSP2</title> </head> <body> <a>This is after forward page</a> </body> </html>
Wyjaลnienie kodu:
Akcja_jsp41.jsp
Code Linia 10: Tutaj uลผywamy akcji JSP forward, aby przekazaฤ ลผฤ danie do strony wymienionej w atrybucie, tj. jsp_action_42.jsp.
Jsp_action_42.jsp
Code Linia 10: Po wywoลaniu action_jsp41.jsp ลผฤ danie zostaje przekierowane do tej strony, a my otrzymujemy wynik w postaci โTo jest strona po przekierowaniuโ.
Po wykonaniu powyลผszego kodu otrzymamy nastฤpujฤ cy wynik.
Wyjลcie:
Wywoลujemy action_jsp41.jsp, ale ลผฤ danie zostaje przekierowane do jsp_action_42.jsp, a my otrzymujemy dane wyjลciowe z tej strony w postaci โTo jest strona po przekierowaniuโ.
jsp:plugin Akcja Tag
- Sลuลผy do przedstawienia Java komponentรณw do JSP, gdzie Java komponenty mogฤ byฤ apletami lub ziarnami.
- Wykrywa przeglฤ darkฤ i dodaje Lub tagi do pliku.
Skลadnia:
<jsp:plugin type="applet/bean" code="objectcode" codebase="objectcodebase">
- W tym przypadku typ okreลla albo obiekt albo ziarno.
- Code okreลla nazwฤ klasy apletu lub ziarna.
- Codebaza zawiera bazฤ URL zawierajฤ cy pliki klas.
jsp:param Znacznik akcji
- Jest to obiekt podrzฤdny obiektu wtyczki opisanego powyลผej.
- Musi zawieraฤ jednฤ lub wiฤcej akcji, aby zapewniฤ dodatkowe parametry.
Skลadnia:
<jsp:params> <jsp:param name="val" value="val"/ > </jsp:params>
Przykลad wtyczki i parametru:
Akcja_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; }
Wyjaลnienie kodu:
Akcja_jsp5.jsp
Code Linia 10: Tutaj uลผywamy obiektu jsp:plugin, w ktรณrym bierzemy trzy atrybuty.
- Typ โ w tym przypadku jest to fasola.
- Code โ nazwa pliku.
- Codebaza โ ลcieลผka zawierajฤ ca nazwฤ pakietu.
Code Linia 11-14: Tutaj bierzemy obiekt jsp:params, pod ktรณrym znajduje siฤ obiekt podrzฤdny param z atrybutami name i value, i ustawiamy wartoลci id i name w tych atrybutach.
Student.java
Code -7 17: Uลผywamy getterรณw i setterรณw dla zmiennych id i name.
Code -19 20: Inicjujemy zmienne id i name.
Tutaj otrzymamy wynik w przypadku, gdy wartoลci ustawione dla parametru โparamโ zostanฤ uลผyte w beanie Student. W tym przypadku nie otrzymamy ลผadnego wyniku, poniewaลผ po prostu ustawiamy i pobieramy wartoลci parametru โparamโ, ale nigdzie ich nie wyลwietlamy.
jsp:body Znacznik akcji
- Ten znacznik sลuลผy do dynamicznego definiowania kodu XML, gdzie Elementy mogฤ byฤ generowane w czasie ลผฤ dania, a nie kompilacji.
- Definiuje kod XML, ktรณry jest generowany dynamicznie jako treลฤ elementu.
Skลadnia:
<jsp:body></jsp:body>
Tutaj wpisujemy znacznik treลci XML w obrฤbie tych znacznikรณw.
jsp:attribute Tag akcji
- Ten znacznik sลuลผy do dynamicznego definiowania kodu XML, co oznacza, ลผe โโelementy mogฤ byฤ generowane w czasie ลผฤ dania, a nie kompilacji.
- Definiuje atrybut XML, ktรณry bฤdzie generowany dynamicznie.
Skลadnia:
<jsp:attribute></jsp:attribute>
Tutaj zapisujemy znacznik atrybutu XML.
Przykลad treลci i atrybutu:
Akcja_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>
Wyjaลnienie kodu:
Code Linia 10: Tutaj definiujemy element, ktรณry jest generowany dynamicznie jako XMLi jego nazwa bฤdzie GuruElement XML.
Code Linia 11-13: Tutaj definiujemy atrybut, ktรณry bฤdzie atrybutem XML dynamicznie generowanego pliku XML.
Code Linia 14: Tutaj mamy akcjฤ ciaลa, w ktรณrej zapisujemy ciaลo XML, ktรณre zostanie wygenerowane dynamicznie.
Po wykonaniu powyลผszego kodu otrzymasz nastฤpujฤ cy wynik:
Wyjลcie:
Tutaj otrzymujemy dane wyjลciowe ze znacznika body wygenerowanego pliku XML.
jsp:text Znacznik akcji
- Sลuลผy do wstawiania tekstu szablonu na strony JSP.
- Jego ciaลo nie zawiera ลผadnych innych elementรณw i zawiera jedynie tekst i wyraลผenia EL.
Skลadnia:
<jsp:text>template text</jsp:text>
W tym przypadku tekst szablonu odnosi siฤ wyลฤ cznie do tekstu szablonu (ktรณry moลผe byฤ dowolnym tekstem ogรณlnym, ktรณry naleลผy wydrukowaฤ na JSP) lub do dowolnego Wyraลผenie EL.
Przykลad:
Akcja_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>
Wyjaลnienie kodu:
Code Linia 10: Tutaj bierzemy obiekt tekstowy, aby wydrukowaฤ tekst szablonu.
Po wykonaniu powyลผszego kodu otrzymasz nastฤpujฤ cy wynik.
Wyjลcie:
Dostajemy Guru Tekst szablonu, ktรณry jest umieszczany w obiekcie akcji tekstowej.
jsp:output Tag akcji
- Okreลla deklaracjฤ XML lub deklaracjฤ DOCTYPE JSP.
- Deklaracja XML i DOCTYPE sฤ deklarowane w wyjลciu.
Skลadnia:
<jsp:output doctype-root-element="" doctype-system="">
W tym przypadku doctype-root-element wskazuje element gลรณwny dokumentu XML w DOCTYPE. Doctype-system wskazuje doctype generowany na wyjลciu i zwraca literaล systemowy.
Przykลad:
<%@ 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>
Wyjaลnienie kodu:
Code Linia 10: Tutaj uลผywamy obiektu akcji wyjลciowej do wygenerowania DOCTYPE, ktรณry wewnฤtrznie bฤdzie generowany w nastฤpujฤ cym formacie:
Nie bฤdzie widocznych wynikรณw, poniewaลผ zostanฤ one wygenerowane wewnฤtrznie.





