Etichete de acțiune JSP
⚡ Rezumat inteligent
Etichetele de acțiune JSP utilizează sintaxa XML pentru a controla comportamentul motorului servlet, permițând dezvoltatorilor să includă fișiere, să redirecționeze cereri, să lucreze cu JavaBeans și încorporarea de conținut dinamic în timpul procesării cererilor.

Ce este o etichetă de acțiune JSP?
Etichetele de acțiune JSP utilizează construcții de sintaxă XML pentru a controla comportamentul motorului servlet. Dezvoltatorii pot insera dinamic un fișier, îl pot reutiliza JavaComponentele Bean redirecționează utilizatorul către o altă pagină și efectuează operațiuni similare în timpul rulării prin intermediul etichetelor de acțiune JSP, cum ar fi include și forward. Spre deosebire de directive, etichetele de acțiune sunt reevaluate de fiecare dată când pagina este accesată, ceea ce le face ideale pentru comportamentul dinamic în timpul procesării cererilor.
Sintaxă:
<jsp:action_name attribute="value" />
În acest tutorial despre etichetele de acțiune standard JSP, veți învăța cum funcționează fiecare etichetă de acțiune, ce face și cum să o aplicați într-un fișier JSP real.
Lista etichetelor de acțiune utilizate frecvent în JSP
Există 11 tipuri de etichete de acțiune standard în JSP și aici este lista completă a acestora.
| Nume etichetă de acțiune | Sintaxă | Descriere |
|---|---|---|
| jsp:useBean | Folosit pentru a invoca și a folosi beans în pagina JSP. | |
| jsp:include | <jsp:include page=”page URL„flush=”adevărat/fals” /> | Include un alt fișier JSP în fișierul curent în timpul procesării cererii. |
| jsp:setProperty | Setează proprietatea unui fasole. | |
| jsp:getProperty | Preia proprietatea unui bean și o convertește într-un șir pentru ieșire. | |
| jsp:forward | Redirecționează cererea către alt JSP sau pagină statică. | |
| jsp:plugin | Prezintă Java componente precum applet-uri sau beans în JSP și generează automat etichete. | |
| jsp:corp | Definește elemente XML care sunt generate dinamic în timpul procesării cererii. | |
| jsp:text | text șablon | Folosit pentru a insera text șablon în pagini JSP, care conține doar text și expresii EL. |
| jsp:param | Transmite parametri în cadrul acțiunii jsp:plugin pentru a adăuga date suplimentare. | |
| jsp:atribut | Definește atributele XML care sunt generate dinamic. | |
| jsp:ieșire | Specifică declarația XML sau DOCTYPE care va fi utilizată în ieșire. |
Acum că aveți lista completă, vom explora fiecare dintre aceste etichete de acțiune JSP pe rând, cu sintaxă și un exemplu funcțional.
jsp:useBean Etichetă de acțiune
- Acest nume de acțiune este folosit atunci când doriți să utilizați JavaFasole în pagina JSP.
- Cu această etichetă, puteți invoca cu ușurință un bean și reutiliza componentele de pe server.
Sintaxa lui jsp:useBean:
<jsp:useBean id="" class="" />
Aici, id specifică identificatorul pentru acest bean, iar class este calea completă a clasei bean.
Exemplu:
<%@ 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>
Explicația codului:
Code Linia 10: În codul de mai sus, utilizați „bean id” și „class path” ale bean-ului.
jsp:include Etichetă de acțiune
- jsp:include este utilizat pentru a insera un fișier JSP într-un alt fișier în timpul procesării cererii, similar cu includerea Directivele.
- Se adaugă în timpul fazei de procesare a cererii, ceea ce înseamnă că conținutul inclus este evaluat de fiecare dată când pagina este solicitată.
Sintaxa lui jsp:include:
<jsp:include page="page URL" flush="true/false">
Exemplu:
În acțiune_jsp2 (Code Linia 10), includem un fișier 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>
Explicația codului:
Action_jsp2.jsp
Code Linia 10: În primul fișier, includem fișierul date.jsp în action_jsp2.jsp.
Date.jsp:
Code Linia 11: Imprimăm data de astăzi în linia de cod 11 din date.jsp.
Când executați codul, rezultatul este următorul.
ieșire:
- Afișează data de astăzi cu ora, deoarece fișierul de dată este inclus în pagina JSP principală.
Etichetă de acțiune jsp:setProperty
- Această acțiune standard în JSP este utilizată pentru a seta proprietatea bean-ului.
- Trebuie să definiți un bean înainte de a seta proprietatea.
Sintaxă:
<jsp:setProperty name="" property="" >
Aici, numele definește bean-ul a cărui proprietate este setată, iar proprietatea este proprietatea pe care doriți să o setați. De asemenea, puteți seta atributele valoare și parametru. Aici valoarea nu este obligatorie și definește valoarea care este atribuită proprietății. Aici parametrul este numele parametrului de solicitare folosind care poate fi extrasă valoarea. Exemplul de setProperty va fi demonstrat mai jos cu getProperty.
Etichetă de acțiune jsp:getProperty
- Această acțiune este utilizată pentru a obține proprietatea fasolei.
- Convertește proprietatea într-un șir de caractere și în final o inserează în ieșire.
Sintaxă:
<jsp:getProperty name="" property="" >
Aici, numele este bean-ul din care trebuie extrasă proprietatea, iar bean-ul ar trebui definit. Atributul property este numele proprietății bean-ului care trebuie extrasă.
Exemplu de 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; } }
Action_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>
Explicația codului:
TestBean.java:
Code Line 5TestBean implementează clasa Serializable. Este o clasă bean cu getter-uri și setter-uri în cod.
Code Line 7Aici luăm variabila privată de tip șir de caractere msg ca „null”.
Code Linia 9-14Aici folosim getter-uri și setter-uri ale variabilei „msg”.
Action_jsp3.jsp
Code Linia 10: Aici folosim eticheta „useBean”, care specifică bean-ul (TestBean) care trebuie utilizat în această clasă JSP.
Code Linia 11: Aici setăm valoarea pentru proprietatea msg pentru bean-ul TestBean ca „Guru„Tutorial”.
Code Linia 12: Aici, folosind getProperty, obținem valoarea proprietății msg pentru bean-ul TestBean (GuruTutorial), care este afișat în rezultat.
Când executați codul de mai sus, obțineți următoarea ieșire:
ieșire:
În acest exemplu, folosind TestBean, setăm proprietatea „msg” folosind setProperty și obținem valoarea proprietății folosind getProperty ca „Guru„Tutorial”.
jsp:forward Etichetă de acțiune
Eticheta de acțiune jsp:forward este utilizată pentru a redirecționa cererea către un alt JSP sau către orice pagină statică.
Aici cererea poate fi transmisă fără parametri sau cu parametri.
Sintaxă:
<jsp:forward page="value">
Aici valoarea reprezintă locul unde trebuie transmisă cererea.
Exemplu:
Action_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>
Explicația codului:
Action_jsp41.jsp
Code Linia 10: Aici folosim acțiunea JSP forward pentru a redirecționa cererea către pagina menționată în atribut, adică jsp_action_42.jsp.
Jsp_action_42.jsp
Code Linia 10: Odată ce apelăm action_jsp41.jsp, cererea este redirecționată către această pagină și primim rezultatul ca „Aceasta este după pagina de redirecționare”.
Când executăm codul de mai sus, obținem următorul rezultat.
ieșire:
Apelăm action_jsp41.jsp, dar cererea este redirecționată către jsp_action_42.jsp și obținem rezultatul de la acea pagină ca „Aceasta este pagina de după redirecționare”.
jsp:plugin Etichetă de acțiune
- Este folosit pentru a introduce Java componente în JSP, unde Java Componentele pot fi fie un applet, fie un bean.
- Detectează browserul și adaugă sau etichete în fișier.
Sintaxă:
<jsp:plugin type="applet/bean" code="objectcode" codebase="objectcodebase">
- Aici, tipul specifică fie un obiect, fie un bean.
- Code specifică numele clasei applet-ului sau bean-ului.
- Codebaza conține baza URL care conține fișiere de clase.
jsp:param Etichetă de acțiune
- Acesta este un obiect copil al obiectului plugin descris mai sus.
- Trebuie să conțină una sau mai multe acțiuni pentru a furniza parametri suplimentari.
Sintaxă:
<jsp:params> <jsp:param name="val" value="val"/ > </jsp:params>
Exemplu de plugin și parametru:
Action_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; }
Explicația codului:
Action_jsp5.jsp
Code Linia 10: Aici folosim obiectul jsp:plugin, unde luăm trei atribute.
- Tip – în acest caz este fasole.
- Code – numele fișierului.
- Codebază – calea cu numele pachetului.
Code Linia 11-14: Aici luăm obiectul jsp:params, sub care există un obiect param copil cu atributele name și value, și setăm valorile id și name în aceste atribute.
Student.java
Code 7-17: Folosim getter-uri și setter-uri pentru variabilele id și name.
Code 19-20: Inițializăm variabilele id și name.
Aici vom obține o ieșire în cazul în care valorile setate ale lui param vor fi utilizate în bean-ul Student. În acest caz, nu vom avea nicio ieșire, deoarece doar setăm și obținem valorile lui param, dar nu le afișăm nicăieri.
jsp:body Etichetă de acțiune
- Această etichetă este utilizată pentru a defini dinamic fișierul XML, unde Elemente de poate fi generată în timpul cererii, mai degrabă decât în timpul compilării.
- Definește XML-ul, care este generat dinamic ca corp de element.
Sintaxă:
<jsp:body></jsp:body>
Aici scriem eticheta XML body în cadrul acestor etichete.
jsp:attribute Etichetă de acțiune
- Această etichetă este utilizată pentru a defini dinamic fișierul XML, unde elementele pot fi generate în timpul solicitării, mai degrabă decât în timpul compilării.
- Definește atributul XML care va fi generat dinamic.
Sintaxă:
<jsp:attribute></jsp:attribute>
Aici scriem eticheta de atribut a XML-ului.
Exemplu de corp și atribut:
Action_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>
Explicația codului:
Code Linia 10: Aici definim un element, care este generat dinamic ca XML, iar numele său va fi GuruElement XML.
Code Linia 11-13: Aici definim un atribut, care va fi un atribut XML al fișierului XML generat dinamic.
Code Linia 14: Aici avem acțiunea body, unde scriem corpul XML, care va fi generat dinamic.
Când executați codul de mai sus, obțineți următoarea ieșire:
ieșire:
Aici obținem rezultatul etichetei body a fișierului XML generat.
jsp:text Etichetă de acțiune
- Se folosește pentru a insera text șablon în pagini JSP.
- Corpul său nu conține alte elemente și conține doar text și expresii EL.
Sintaxă:
<jsp:text>template text</jsp:text>
Aici, textul șablonului se referă doar la textul șablonului (care poate fi orice text generic ce trebuie imprimat pe JSP) sau la orice EL expresie.
Exemplu:
Action_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>
Explicația codului:
Code Linia 10: Aici luăm obiectul text pentru a imprima textul șablonului.
Când executați codul de mai sus, obțineți următoarea ieșire.
ieșire:
Primim Guru Text șablon, care este plasat în obiectul acțiunii text.
jsp:output Etichetă de acțiune
- Specifică declarația XML sau declarația DOCTYPE a JSP.
- Declarația XML și DOCTYPE sunt declarate de ieșire.
Sintaxă:
<jsp:output doctype-root-element="" doctype-system="">
Aici, doctype-root-element indică elementul rădăcină al documentului XML din DOCTYPE. Doctype-system indică doctype-ul care este generat în ieșire și oferă un literal de sistem.
Exemplu:
<%@ 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>
Explicația codului:
Code Linia 10: Aici folosim obiectul de acțiune de ieșire pentru a genera un DOCTYPE, iar intern acesta va fi generat în acest format:
Nu va exista nicio ieșire vizibilă pentru aceasta, deoarece va fi generată intern.





