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.





