JSP-műveletcímkék
⚡ Okos összefoglaló
A JSP Action Tag-ek XML szintaxist használnak a servlet motor viselkedésének szabályozására, lehetővé téve a fejlesztők számára fájlok beillesztését, kérések továbbítását, valamint a velük való munkát. JavaBeanek, és dinamikus tartalom beágyazása a kérésfeldolgozás során.

Mi az a JSP műveleti címke?
A JSP Action Tagek XML szintaxis konstrukciókat használnak a servlet motor viselkedésének vezérlésére. A fejlesztők dinamikusan beszúrhatnak egy fájlt, újra felhasználhatják JavaA Bean komponensek továbbítják a felhasználót egy másik oldalra, és hasonló futásidejű műveleteket hajtanak végre JSP Action Tag-eken, például az include és a forward utasításokon keresztül. Az utasításokkal ellentétben az action tag-ek minden alkalommal újraértékelődnek, amikor az oldalhoz hozzáférnek, ami ideálissá teszi őket a dinamikus viselkedéshez a kérésfeldolgozás során.
Syntax:
<jsp:action_name attribute="value" />
Ebben a JSP szabványos műveleti címkékről szóló oktatóanyagban megtudhatod, hogyan működnek az egyes műveleti címkék, mit csinálnak, és hogyan alkalmazhatod őket egy valódi JSP fájlban.
A JSP-ben gyakran használt műveleti címkék listája
A JSP-ben 11 típusú szabványos műveleti címkét találhatunk, ezek teljes listája itt található.
| Műveletcímke neve | Szintaxis | Leírás |
|---|---|---|
| jsp:useBean | Beanek meghívására és használatára szolgál a JSP oldalon. | |
| jsp:include | <jsp:include page=”page URL„flush=”igaz/hamis” /> | A kérésfeldolgozás során egy másik JSP-fájlt is tartalmaz az aktuális fájlba. |
| jsp:setProperty | Beállítja a bab tulajdonságait. | |
| jsp:getProperty | Lekéri egy bab tulajdonságát, és karakterláncsá alakítja a kimenethez. | |
| jsp: előre | Továbbítja a kérést egy másik JSP-re vagy statikus oldalra. | |
| jsp: plugin | Bemutatja Java olyan összetevőket, mint a kisalkalmazások vagy a babok JSP-be, és automatikusan generál címkéket. | |
| jsp:body | Meghatározza a kérésfeldolgozás során dinamikusan generált XML-elemeket. | |
| jsp:text | sablon szöveg | Sablonszöveg beszúrására használható JSP-oldalakba, amelyek csak szöveget és EL-kifejezéseket tartalmaznak. |
| jsp:param | Paramétereket ad át a jsp:plugin műveleten belül további adatok hozzáadásához. | |
| jsp:attribútum | Dinamikusan előállított XML-attribútumokat határoz meg. | |
| jsp:output | Megadja a kimenetben használandó XML vagy DOCTYPE deklarációt. |
Most, hogy a teljes lista a rendelkezésedre áll, egyesével megvizsgáljuk ezeket a JSP műveleti címkéket szintaxissal és egy működő példával.
jsp:useBean műveletcímke
- Ezt a műveletnevet akkor használjuk, ha a következőt szeretnéd használni: JavaBeanek a JSP oldalon.
- Ezzel a címkével könnyedén meghívhatsz egy beant, és újra felhasználhatod a szerveroldali komponenseket.
A jsp:useBean szintaxisa:
<jsp:useBean id="" class="" />
Itt az „id” a bean azonosítóját, az „class” pedig a bean osztály teljes elérési útját jelöli.
Példa:
<%@ 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>
A kód magyarázata:
Code 10 vonal: A fenti kódban a bab „bean azonosítóját” és „osztályútvonalát” használjuk.
jsp:include műveletcímke
- A jsp:include függvény segítségével JSP fájlt illeszthetünk be egy másik fájlba a kérésfeldolgozás során, hasonlóan az include-hoz Irányelvek.
- A kérésfeldolgozási fázisban kerül hozzáadásra, ami azt jelenti, hogy a beillesztett tartalmat minden alkalommal kiértékeli a rendszer, amikor az oldalt lekérik.
A jsp:include szintaxisa:
<jsp:include page="page URL" flush="true/false">
Példa:
Az Action_jsp2-ben (Code 10. sor), egy date.jsp fájlt mellékelünk.
<%@ 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>
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>Insert title here</title> </head> <body> <p> Today's date: <%= new java.util.Date().toLocaleString()%> </p> </body> </html>
A kód magyarázata:
Action_jsp2.jsp
Code 10 vonal: Az első fájlban a date.jsp fájlt az action_jsp2.jsp fájlban helyezzük el.
Date.jsp:
Code 11 vonal: A mai dátumot a date.jsp fájl 11. kódsorába nyomtatjuk.
Amikor végrehajtod a kódot, a következő kimenetet kapod.
output:
- A mai dátumot idővel együtt jeleníti meg, mivel a dátumfájl a fő JSP oldalon található.
jsp:setProperty műveletcímke
- Ez a JSP-ben szereplő szabványos művelet a bean tulajdonságának beállítására szolgál.
- A tulajdonság beállítása előtt definiálnia kell egy babot.
Syntax:
<jsp:setProperty name="" property="" >
Itt a „name” határozza meg azt a bemenő babot, amelynek a tulajdonsága be van állítva, a „property” pedig a beállítani kívánt tulajdonság. Beállíthatod a „value” és a „param” attribútumokat is. Itt a „value” nem kötelező, és azt az értéket határozza meg, amelyet a tulajdonsághoz rendelünk. Itt a „param” a kérésparaméter neve, amellyel az érték lekérhető. A „setProperty” példáját az alábbiakban a getProperty segítségével mutatjuk be.
jsp:getProperty műveletcímke
- Ez a művelet a bab tulajdonságának megszerzésére szolgál.
- A tulajdonságot karakterlánccá alakítja, majd végül beszúrja a kimenetbe.
Syntax:
<jsp:getProperty name="" property="" >
Itt a név a bean, amelyből a tulajdonságot le kell kérni, és a beant definiálni kell. A tulajdonság attribútum a lekérendő bean tulajdonság neve.
Példa a setProperty és a getProperty használatára:
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>
A kód magyarázata:
TestBean.java:
Code vonal 5A TestBean a Serializable osztályt implementálja. Ez egy bean osztály, amelynek kódjában getterek és setterek találhatók.
Code vonal 7: Itt az msg privát karakterláncváltozót „null”-ként vesszük.
Code 9-14. sorItt az „msg” változó gettereit és settereit használjuk.
Action_jsp3.jsp
Code 10 vonal: Itt a „useBean” taget használjuk, ahol az határozza meg a JSP osztályban használandó beant (TestBean).
Code 11 vonal: Itt a bean TestBean msg tulajdonságának értékét a következőre állítjuk be: „GuruOktatóanyag”.
Code 12 vonal: Itt a getProperty használatával megkapjuk a TestBean bean msg tulajdonságának értékét (GuruOktatóanyag), amely a kimenetben látható.
Amikor végrehajtja a fenti kódot, a következő kimenetet kapja:
output:
Ebben a példában a TestBean használatával beállítjuk az „msg” tulajdonságot a setProperty használatával, és a tulajdonság értékét a getProperty használatával kapjuk meg: „GuruOktatóanyag”.
jsp:forward műveletcímke
A jsp:forward action tag segítségével továbbíthatjuk a kérést egy másik JSP-re vagy bármilyen statikus oldalra.
Itt a kérés paraméter nélkül vagy paraméterekkel továbbítható.
Syntax:
<jsp:forward page="value">
Itt az érték azt jelenti, hogy a kérelmet hova kell továbbítani.
Példa:
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>
A kód magyarázata:
Action_jsp41.jsp
Code 10 vonal: Itt a forward JSP műveletet használjuk a kérés továbbítására az attribútumban említett oldalra, azaz a jsp_action_42.jsp oldalra.
Jsp_action_42.jsp
Code 10 vonal: Miután meghívjuk az action_jsp41.jsp fájlt, a kérés továbbítódik erre az oldalra, és a következő kimenetet kapjuk: „Ez a továbbított oldal után van”.
Amikor végrehajtjuk a fenti kódot, a következő kimenetet kapjuk.
output:
Meghívjuk az action_jsp41.jsp fájlt, de a kérés továbbítódik a jsp_action_42.jsp oldalra, és az oldal kimenete a következő: „Ez a továbbított oldal után van”.
jsp:plugin műveletcímke
- Bevezetésre szolgál Java komponenseket JSP-be, ahol a Java A komponensek lehetnek kisalkalmazások vagy beanek.
- Felismeri a böngészőt és hozzáadja vagy címkék a fájlba.
Syntax:
<jsp:plugin type="applet/bean" code="objectcode" codebase="objectcodebase">
- Itt a típus vagy egy objektumot, vagy egy babot határoz meg.
- Code az applet vagy bean osztálynevét adja meg.
- Codeaz alap tartalmazza az alapot URL amely osztályok fájljait tartalmazza.
jsp:param Műveletcímke
- Ez a fent leírt bővítmény objektum gyermekobjektuma.
- Tartalmaznia kell egy vagy több műveletet további paraméterek megadásához.
Syntax:
<jsp:params> <jsp:param name="val" value="val"/ > </jsp:params>
Példa a bővítményre és paraméterre:
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>
Diák.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; }
A kód magyarázata:
Action_jsp5.jsp
Code 10 vonal: Itt a jsp:plugin objektumot használjuk, ahol három attribútumot veszünk figyelembe.
- Típus – ebben az esetben bab.
- Code – a fájl neve.
- Codebase – a csomag nevével ellátott elérési út.
Code 11-14. sor: Itt a jsp:params objektumot vesszük, amely alatt van egy gyermek param objektum a name és value attribútumokkal, és ezekben az attribútumokban állítjuk be az id és name értékeket.
Diák.java
Code 7-17: Gettereket és settereket használunk az id és name változókhoz.
Code 19-20: Inicializáljuk az id és name változókat.
Itt abban az esetben fogunk kimenetet kapni, ha a param beállított értékeit használjuk a Student beanben. Ebben az esetben nem lesz kimenetünk, mivel csak a param értékeit állítjuk be és fogadjuk, de nem írjuk ki sehova.
jsp:body műveletcímke
- Ez a címke az XML dinamikus definiálására szolgál, ahol a Elemek kérés közben generálható, nem pedig fordítás közben.
- Ez definiálja az XML-t, amely dinamikusan generálódik elem törzsként.
Syntax:
<jsp:body></jsp:body>
Ide írjuk az XML törzscímkét ezekbe a címkékbe.
jsp:attribute műveletcímke
- Ez a címke az XML dinamikus definiálására szolgál, ahol az elemek a kérés ideje alatt generálhatók a fordítási idő helyett.
- Ez határozza meg az XML dinamikusan generálódó attribútumát.
Syntax:
<jsp:attribute></jsp:attribute>
Ide írjuk az XML attribútumcímkéjét.
Példa a törzsre és az attribútumra:
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>
A kód magyarázata:
Code 10 vonal: Itt egy olyan elemet definiálunk, amely dinamikusan generálódik a következőképpen: XML, és a neve az lesz, GuruXMLElem.
Code 11-13. sor: Itt definiálunk egy attribútumot, amely a dinamikusan generált XML egyik XML attribútuma lesz.
Code 14 vonal: Itt van a törzs művelet, ahol az XML törzset írjuk, amely dinamikusan generálódik.
Amikor végrehajtja a fenti kódot, a következő kimenetet kapja:
output:
Itt kapjuk a generált XML törzscímkéjének kimenetét.
jsp:text Műveletcímke
- Sablonszöveg JSP oldalakba való beszúrására szolgál.
- A törzse nem tartalmaz más elemeket, csak szöveget és EL kifejezéseket tartalmaz.
Syntax:
<jsp:text>template text</jsp:text>
Itt a sablonszöveg csak sablonszövegre vonatkozik (ami bármilyen általános szöveg lehet, amelyet JSP-re kell nyomtatni), vagy bármilyen EL kifejezés.
Példa:
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>
A kód magyarázata:
Code 10 vonal: Itt a szövegobjektumot használjuk a sablonszöveg kinyomtatásához.
Amikor végrehajtja a fenti kódot, a következő kimenetet kapja.
output:
Kapunk Guru Sablonszöveg, amely a szöveges műveletobjektumon belül kerül elhelyezésre.
jsp:output műveletcímke
- Ez meghatározza a JSP XML deklarációját vagy DOCTYPE deklarációját.
- Az XML deklarációt és a DOCTYPE-ot a kimenet deklarálja.
Syntax:
<jsp:output doctype-root-element="" doctype-system="">
Itt a doctype-root-element a DOCTYPE XML dokumentum gyökérelemét jelöli. A doctype-system pedig a kimenetben generált doctype-ot jelöli, amely egy rendszerliterált ad vissza.
Példa:
<%@ 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>
A kód magyarázata:
Code 10 vonal: Itt az output action objektumot használjuk egy DOCTYPE létrehozásához, és belsőleg ebben a formátumban generálódik:
Ehhez nem lesz látható kimenet, mivel ez belsőleg generálódik.





