JSP Action Tags
Hva er JSP Action?
JSP-handlinger bruker konstruksjonen i XML-syntaks for รฅ kontrollere oppfรธrselen til servletmotoren. Vi kan dynamisk sette inn en fil, gjenbruke bรธnnekomponentene, videresende brukeren til en annen side osv. gjennom JSP-handlinger som inkluderer og videresend. I motsetning til direktiver, blir handlinger reevaluert hver gang siden รฅpnes.
Syntaks:
<jsp:action_name attribute="value" />
I denne opplรฆringen vil du lรฆre om JSP Standard Actions. JSP Standard Action-tagger brukes til รฅ kontrollere oppfรธrselen til servletmotoren.
Liste over de vanligste handlingstagger i JSP
Det er 11 typer Standard Action Tags i JSP, og her er den komplette listen over dem.
| Action Tag Navn | syntax | Tekniske beskrivelser |
|---|---|---|
| jsp:useBean | Brukes til รฅ pรฅkalle og bruke bรธnner pรฅ JSP-siden. | |
| jsp:inkludere | Inkluderer en annen JSP-fil i gjeldende fil under forespรธrselsbehandling. | |
| jsp:setProperty | Angir egenskapen til en bรธnne. | |
| jsp:getProperty | Henter egenskapen til en bรธnne og konverterer den til en streng for utdata. | |
| jsp:forward | Videresender forespรธrselen til en annen JSP eller statisk side. | |
| jsp:plugin | Introduserer Java komponenter som applets eller bรธnner til JSP og genererer automatisk tagger. | |
| jsp:body | Definerer XML-elementer som genereres dynamisk under forespรธrselsbehandling. | |
| jsp:tekst | maltekst | Brukes til รฅ sette inn maltekst i JSP-sider, som kun inneholder tekst og EL-uttrykk. |
| jsp:param | Sender parametere i jsp:plugin-handlingen for รฅ legge til ekstra data. | |
| jsp:attributt | Definerer XML-attributter som genereres dynamisk. | |
| jsp:utgang | Spesifiserer XML- eller DOCTYPE-deklarasjonen som skal brukes i utdataene. |
jsp:useBean
- Dette handlingsnavnet brukes nรฅr vi รธnsker รฅ bruke bรธnner pรฅ JSP-siden.
- Med denne taggen kan vi enkelt pรฅkalle en bรธnne.
Syntaks for jsp: UseBean:
<jsp:useBean id="" class="" />
Her spesifiserer den identifikatoren for denne bรธnnen og klassen er hele banen til bรธnneklassen
Eksempel:
<%@ 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>
Forklaring av koden:
Code Linje 10: I koden ovenfor bruker vi "bรธnne-id" og "klassebane" til bรธnnen.
jsp:inkludere
- Det pleide ogsรฅ รฅ sette inn en jsp-fil i en annen fil, akkurat som รฅ inkludere Direktiver.
- Det legges til under forespรธrselsbehandlingsfasen
Syntaks for jsp:include
<jsp:include page="page URL" flush="true/false">
Eksempel:
Handling_jsp2 (Code Linje 10) vi inkluderer en date.jsp-fil
<%@ 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>
Dato.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>
Forklaring av koden:
Action_jsp2.jsp
Code Linje 10: I den fรธrste filen inkluderer vi date.jsp-filen i action_jsp2.jsp
Date.jsp:
Code Linje 11: Vi skriver ut dagens dato i kodelinje 11 i date.jsp
Nรฅr du kjรธrer koden fรธlger utdataene.
Utgang:
- Den viser dagens dato med klokkeslett da datofil er inkludert i hoved-jsp
jsp:setProperty
- Denne egenskapen til standardhandlinger i JSP brukes til รฅ angi egenskapen til bรธnnen.
- Vi mรฅ definere en bรธnne fรธr vi setter eiendommen
Syntaks:
<jsp:setproperty name="" property="" >
Her definerer navnet bรธnnen hvis egenskap er satt og egenskapen som vi รธnsker รฅ sette. Vi kan ogsรฅ angi verdi og param-attributt. Her er ikke verdien obligatorisk, og den definerer verdien som tildeles eiendommen. Her er param navnet pรฅ forespรธrselsparameteren som bruker hvilken verdi som kan hentes. Eksemplet pรฅ setproperty vil bli demonstrert nedenfor med getproperty
jsp:getProperty
- Denne egenskapen brukes til รฅ fรฅ egenskapen til bรธnnen.
- Den konverteres til en streng og settes til slutt inn i utgangen.
Syntaks:
<jsp:getAttribute name="" property="" >
Her skal navnet pรฅ bรธnnen som egenskapen skal hentes fra og bรธnne defineres. Egenskapsattributtet er navnet pรฅ bรธnneegenskapen som skal hentes.
Eksempel pรฅ setProperty og 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>
Forklaring av koden:
TestBean.java:
Code Linje 5: TheTestBean implementerer den serialiserbare klassen. Det er en bรธnneklasse med getters settere i koden.
Code Linje 7: Her tar vi privat strengvariabel msg som "null"
Code Linje 9-14: Her bruker vi gettere og settere av variabel "msg".
Action_jsp3.jsp
Code Linje 10: Her bruker vi "useBean"-taggen, der den spesifiserer bรธnnen dvs. TestBean som mรฅ brukes i denne jsp-klassen
Code Linje 11: Her setter vi verdien for egenskapen msg for bean TestBean som ยซGuruOpplรฆring.
CodeLinje12: Her, ved รฅ bruke getProperty, fรฅr vi verdien av egenskapen msg for bean TestBean, dvs. GuruOpplรฆringen som er der i utdataene
Nรฅr du kjรธrer koden ovenfor fรฅr du fรธlgende utgang:
Utgang:
I dette eksemplet prรธver vi รฅ sette egenskapen ยซgurutestยป ved hjelp av TestBean ved hjelp av setProperty og fรฅ verdien av egenskapen ved hjelp av getProperty som ยซGuruยซOpplรฆringยป
jsp:forward
Den brukes til รฅ videresende forespรธrselen til en annen jsp eller en hvilken som helst statisk side.
Her kan forespรธrselen videresendes uten parametere eller med parametere.
Syntaks:
<jsp:forward page="value">
Her representerer verdien hvor forespรธrselen skal videresendes.
Eksempel:
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>
Forklaring av koden
Action_jsp41.jsp
Code Linje 10: Her bruker vi forward JSP Action for รฅ videresende forespรธrselen til siden nevnt i attributtet, dvs. jsp_action_42.jsp
Jsp_action_42.jsp
Code Linje 10: Nรฅr vi ringer action_jsp41.jsp, blir forespรธrselen videresendt til denne siden, og vi fรฅr utdata som "Dette er etter videresendingsside."
Nรฅr vi kjรธrer koden ovenfor, fรฅr vi fรธlgende utgang
Utgang:
Vi kaller action_jsp41.jsp, men forespรธrselen blir videresendt til jsp_action_42.jsp, og vi fรฅr utdata fra den siden som "Dette er etter videresendingsside".
jsp:plugin
- Det brukes til รฅ introdusere Java komponenter til jsp, dvs. java-komponentene kan enten vรฆre en applet eller bรธnne.
- Den oppdager nettleseren og legger til eller JSP-koder inn i filen
Syntaks:
<jsp:plugin type="applet/bean" code="objectcode" codebase="objectcodebase">
- Her spesifiserer typen enten et objekt eller en bรธnne
- Code angir klassenavnet til applet eller bรธnne
- Code basen inneholder basis-URL-en som inneholder filer av klasser
jsp:param
- Dette er underordnet objekt av plugin-objektet beskrevet ovenfor
- Den mรฅ inneholde รฉn eller flere handlinger for รฅ gi flere parametere.
Syntaks:
<jsp:params> <jsp:param name="val" value="val"/ > </jsp:params>
Eksempel pรฅ plugin og param
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;
}
Forklaring av koden:
Action_jsp5.jsp
Code Linje 10: Her tar vi jsp: plugin-objekt hvor vi tar tre attributter
- Type โ i dette tilfellet er det bรธnne
- Code- navnet pรฅ filen
- Codebase โ sti med pakkenavnet
Code Linje 11-14: Her tar vi jsp: params-objektet der det er et underordnet param-objekt med attributtene navn og verdi, og vi setter verdiene for id og navn i disse attributtene.
Student.java
Code 7-17: Vi bruker gettere og settere for variabler id og navn
Code 19-20: vi initialiserer variablene id og navn.
Her vil vi fรฅ utdata i tilfellet nรฅr de innstilte verdiene til param skal brukes i Student Bean. I dette tilfellet vil vi ikke ha noe utdata, da vi bare stiller inn og henter verdiene for param, men ikke skriver det ut noe sted.
jsp:body
- Denne taggen brukes til รฅ definere XML dynamisk, dvs Elements kan generere under forespรธrselstid enn kompileringstid.
- Den definerer faktisk XML, som genereres dynamisk elementkropp.
Syntaks:
<jsp:body></jsp:body>
Her skriver vi XML body tag innenfor denne taggene
jsp:attributt
- Denne taggen brukes til รฅ definere XML dynamisk, dvs. elementene kan genereres under forespรธrselstid enn kompileringstid
- Den definerer faktisk attributtet til XML som vil bli generert dynamisk.
Syntaks:
<jsp:attribute></jsp:attribute>
Her skriver vi attributtag for XML.
Eksempel pรฅ kropp og attributt:
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>
Forklaring av koden:
Code Linje 10: Her definerer vi element, som genereres dynamisk som XML, og navnet vil vรฆre GuruXMLElement
Code Linje 11-13: Her definerer vi et attributt som vil XML-attributt til den dynamisk genererte XML.
Code Linje 14: Her har vi kroppshandling hvor vi skriver XML-kroppen som vil bli generert i dynamisk XML.
Nรฅr du kjรธrer koden ovenfor, fรฅr du fรธlgende utgang:
Utgang:
Her fรฅr vi utdata fra body-taggen til generert XML.
jsp:tekst
- Den brukes til รฅ male tekst pรฅ JSP-sider.
- Kroppen inneholder ingen andre elementer, og den inneholder kun tekst og EL-uttrykk.
Syntaks:
<jsp:text>template text</jsp:text>
Her refererer maltekst til kun maltekst (som kan vรฆre en hvilken som helst generisk tekst som mรฅ skrives ut pรฅ jsp ) eller EL uttrykk.
Eksempel:
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>
Forklaring av koden:
Code Linje 10: Her tar vi tekstobjekt for รฅ skrive ut malteksten
Nรฅr du utfรธrer koden ovenfor, fรฅr du fรธlgende utgang
Utgang:
Vi fรฅr Guru Maltekst, som plasseres i teksthandlingsobjekter.
jsp:utgang
- Den spesifiserer XML-deklarasjonen eller DOCTYPE-erklรฆringen til jsp
- XML-deklarasjonen og DOCTYPE er deklarert av utdataene
Syntaks:
<jsp:output doctype-root-element="" doctype-system="">
Her indikerer doctype-root-element rotelementet til XML-dokumentet i DOCTYPE. Doctype-system indikerer doctype som genereres i output og gir systemet bokstavelig
Eksempel:
<%@ 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>
Forklaring av koden:
Code Linje 10: Her bruker vi utdatahandlingsobjekt for รฅ generere en DOCTYPE, og internt vil den bli generert i dette formatet:
Det vil ikke vรฆre noen utgang for dette, da dette vil bli generert internt.





