JSP-műveletcímkék
Mi az a JSP-művelet?
A JSP-műveletek az XML-szintaxis konstrukcióját használják a szervlet-motor viselkedésének szabályozására. Dinamikusan beszúrhatunk egy fájlt, újra felhasználhatjuk a beans összetevőket, továbbíthatjuk a felhasználót egy másik oldalra stb. JSP-műveletekkel, mint például az include és a forward. Az utasításoktól eltérően a műveletek az oldal minden egyes megnyitásakor újraértékelésre kerülnek.
Syntax:
<jsp:action_name attribute="value" />
Ebben az oktatóanyagban megismerheti a JSP szabványos műveleteit. A JSP Standard Action címkéket a szervlet motor viselkedésének vezérlésére használják.
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 | Description |
---|---|---|
jsp:useBean | Beanek meghívására és használatára szolgál a JSP oldalon. | |
jsp:include | 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. |
jsp:useBean
- Ezt a műveletnevet akkor használjuk, ha babot szeretnénk használni a JSP oldalon.
- Ezzel a címkével könnyen megidézhetünk egy babot.
A jsp szintaxisa: UseBean:
<jsp:useBean id="" class="" />
Itt megadja ennek a komponensnek az azonosítóját, és az osztály a komponensosztály teljes elérési útja
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:
10. kódsor: A fenti kódban a komponens „bean id”-jét és „class path”-ját használjuk.
jsp:include
- Arra is használt, hogy egy jsp fájlt beszúrjon egy másik fájlba, akárcsak az include Irányelvek.
- A kérésfeldolgozási fázisban kerül hozzáadásra
A jsp:include szintaxisa
<jsp:include page="page URL" flush="true/false">
Példa:
Action_jsp2 (10. kódsor) tartalmaz egy date.jsp fájlt
<%@ 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
10. kódsor: Az első fájlba belefoglaljuk a date.jsp fájlt az action_jsp2.jsp fájlba
Date.jsp:
11. kódsor: A mai dátumot a date.jsp 11. kódsorába nyomtatjuk
Amikor végrehajtja a kódot, a következő a kimenet.
output:
- Megjeleníti a mai dátumot az idővel, mivel a dátumfájl szerepel a fő jsp-ben
jsp:setProperty
- A JSP szabványos műveleteinek ez a tulajdonsága a bab tulajdonságának beállítására szolgál.
- A tulajdonság beállítása előtt meg kell határoznunk egy babot
Syntax:
<jsp:setproperty name="" property="" >
Itt a név határozza meg azt a babot, amelynek a tulajdonsága be van állítva, és a tulajdonságot, amelyet be akarunk állítani. Emellett beállíthatunk értéket és param attribútumot is. Itt az érték nem kötelező, és ez határozza meg a tulajdonsághoz rendelt értéket. Itt a param a kérési paraméter neve, amellyel az érték lekérhető. A setproperty példáját alább a getproperty segítségével mutatjuk be
jsp:getProperty
- Ez a tulajdonság a bab tulajdonának megszerzésére szolgál.
- Stringgé alakul, végül beszúrja a kimenetbe.
Syntax:
<jsp:getAttribute name="" property="" >
Itt meg kell adni annak a babnak a nevét, amelyből a tulajdonságot le kell keresni, és meg kell határozni a babot. A property attribútum a lekérendő bab 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:
5. kódsor: A TheTestBean a szerializálható osztályt valósítja meg. Ez egy babosztály getter-beállítókkal a kódban.
7. kódsor: Itt az msg privát karakterlánc-változót „null”-nak vesszük
Kódsor 9-14: Itt az „msg” változó gettereit és beállítóit használjuk.
Action_jsp3.jsp
10. kódsor: Itt a "useBean" címkét használjuk, ahol megadja azt a babot, azaz a TestBean-t, amelyet ebben a jsp osztályban kell használni
11. kódsor: Itt a Bean TestBean tulajdonság msg értékét „GuruTutorial”-ként állítjuk be.
CodeLine12: Itt a getProperty használatával megkapjuk a bean TestBean azaz GuruTutorial tulajdonság msg értékét, amely ott van a kimenetben
Amikor végrehajtja a fenti kódot, a következő kimenetet kapja:
output:
Ebben a példában a TestBean használatával megpróbáljuk beállítani a „gurutest” tulajdonságot a setProperty segítségével, és a tulajdonság értékét a getProperty segítségével „GuruTutorial”-ként beállítani.
jsp: előre
A kérés továbbítására szolgál egy másik jsp-re vagy bármely 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
10. kódsor: Itt a továbbító 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
Jsp_action_42.jsp
10. kódsor: Miután meghívtuk az action_jsp41.jsp-t, a kérés továbbítódik erre az oldalra, és a kimenetet a következőképpen kapjuk meg: „Ez a továbbítási 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érelmet a rendszer továbbítja a jsp_action_42.jsp címre, és az oldal kimenetét a következőképpen kapjuk meg: „Ez a továbbítási oldal után van”.
jsp: plugin
- Bevezetésre szolgál Java komponenseket jsp-be, azaz a java összetevők lehetnek kisalkalmazások vagy babok.
- Érzékeli a böngészőt és hozzáadja vagy JSP címkéket a fájlba
Syntax:
<jsp:plugin type="applet/bean" code="objectcode" codebase="objectcodebase">
- Itt a típus egy objektumot vagy egy babot határoz meg
- A kód az applet vagy a bab osztálynevét adja meg
- A kódbázis tartalmazza az osztályok fájljait tartalmazó alap URL-t
jsp:param
- Ez a fent leírt plugin 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 beépülő modulra és a 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
10. kódsor: Itt jsp: plugin objektumot veszünk, ahol három attribútumot veszünk
- Típus – ebben az esetben babról van szó
- A fájl kódneve
- Kódbázis – elérési út a csomag nevével
11-14. kódsor: Itt jsp: params objektumot veszünk, amely alatt van egy gyermek param objektum név és érték attribútumokkal, és ebben az attribútumban állítjuk be az id és name értékeit.
Diák.java
7-17 kód: Gettereket és settereket használunk az id és name változókhoz
19-20 kód: inicializáljuk az id és name változókat.
Itt abban az esetben kapunk kimenetet, ha a Student Beanben a param beállított értékeit használjuk. Ebben az esetben nem lesz kimenetünk, mivel csak beállítjuk és megkapjuk a param értékeit, de nem nyomtatjuk ki sehova.
jsp:body
- Ez a címke az XML dinamikus meghatározására szolgál, azaz a Elemek generálhat a kérés ideje alatt, mint a fordítási idő alatt.
- Valójában ez határozza meg az XML-t, amely dinamikusan generált elemtörzs.
Syntax:
<jsp:body></jsp:body>
Itt XML body tag-et írunk a címkék közé
jsp:attribútum
- Ezt a címkét az XML dinamikus meghatározására használják, azaz az elemek a kérés ideje alatt generálhatók, mint a fordítási idő alatt
- Valójában meghatározza az XML attribútumait, amely dinamikusan generálódik.
Syntax:
<jsp:attribute></jsp:attribute>
Ide írjuk az XML attribútum cí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:
10. kódsor: Itt egy olyan elemet határozunk meg, amely dinamikusan generálódik XML, és a neve GuruXMLElement lesz
11-13. kódsor: Itt definiálunk egy attribútumot, amely a dinamikusan generált XML XML attribútumaként kezeli.
14. kódsor: Itt van egy testművelet, ahol az XML törzset írjuk, amely dinamikusan XML-ben lesz generálva.
Amikor végrehajtja a fenti kódot, a következő kimenetet kapja:
output:
Itt megkapjuk a generált XML törzscímkéjének kimenetét.
jsp:text
- JSP-oldalak szövegének sablonolá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 a sablonszövegre vonatkozik (ez lehet bármilyen általános szöveg, amelyet jsp-re kell nyomtatni) vagy bármely 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:
10. kódsor: Itt szövegobjektumot veszünk a sablon szövegének kinyomtatásához
Amikor végrehajtja a fenti kódot, a következő kimenetet kapja
output:
Guru sablonszöveget kapunk, amely szöveges műveletobjektumokba kerül.
jsp:output
- Meghatározza a jsp XML 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 az XML dokumentum gyökérelemét jelzi a DOCTYPE-ban. A Doctype-rendszer a kimenetben generált doctype-ot jelöli, és megadja a rendszer literált
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:
10. kódsor: Itt a kimeneti műveletobjektumot használjuk egy DOCTYPE generálására, és belsőleg ebben a formátumban jön létre:
Ennek nem lesz kimenete, mivel ezt belsőleg generálják.