JSP akcijske oznake

Što je JSP Action?

JSP radnje koriste konstrukciju u XML sintaksi za kontrolu ponašanja stroja servleta. Možemo dinamički umetnuti datoteku, ponovno upotrijebiti komponente graha, proslijediti korisnika na drugu stranicu itd. putem JSP radnji kao što su uključivanje i prosljeđivanje. Za razliku od direktiva, radnje se ponovno procjenjuju svaki put kada se pristupi stranici.

Sintaksa:

<jsp:action_name attribute="value" />

U ovom vodiču naučit ćete o JSP standardnim radnjama. JSP standardne radnje oznake koriste se za kontrolu ponašanja servlet motora.

Popis često korištenih akcijskih oznaka u JSP-u

Postoji 11 vrsta standardnih akcijskih oznaka u JSP-u, a ovdje je njihov potpuni popis.

Naziv radnje oznake Sintaksa Description
jsp:useBean Koristi se za pozivanje i korištenje beana na JSP stranici.
jsp: uključiti Uključuje drugu JSP datoteku u trenutnu datoteku tijekom obrade zahtjeva.
jsp:setProperty Postavlja svojstvo graha.
jsp:getProperty Dohvaća svojstvo beana i pretvara ga u niz za izlaz.
jsp: naprijed Prosljeđuje zahtjev na drugi JSP ili statičnu stranicu.
jsp: dodatak Uvodi Java komponente poput apleta ili beana u JSP i automatski generira oznake.
jsp:tijelo Definira XML elemente koji se dinamički generiraju tijekom obrade zahtjeva.
jsp:tekst tekst predloška Koristi se za umetanje teksta predloška u JSP stranice, koje sadrže samo tekst i EL izraze.
jsp:param Prosljeđuje parametre unutar akcije jsp:plugin za dodavanje dodatnih podataka.
jsp:atribut Definira XML atribute koji se dinamički generiraju.
jsp: izlaz Određuje XML ili DOCTYPE deklaraciju koja će se koristiti u izlazu.

jsp:useBean

  • Ovaj naziv radnje koristi se kada želimo koristiti bean-ove na JSP stranici.
  • S ovom oznakom možemo lako pozvati grah.

Sintaksa jsp-a: UseBean:

<jsp:useBean id="" class="" />

Ovdje specificira identifikator za ovaj bean i klasa je puna staza klase beana

Primjer:

<%@ 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>

Objašnjenje koda:

Redak koda 10: U gornjem kodu koristimo "bean id" i "class path" beana.

jsp: uključiti

  • Također se koristi za umetanje jsp datoteke u drugu datoteku, baš kao i uključivanje Direktive.
  • Dodaje se tijekom faze obrade zahtjeva

Sintaksa jsp:include

<jsp:include page="page URL" flush="true/false">

Primjer:

Action_jsp2 (kodna linija 10) uključujemo datoteku 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>

Datum.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>

Objašnjenje koda:

Akcija_jsp2.jsp

Redak koda 10: U prvoj datoteci uključujemo datoteku date.jsp u action_jsp2.jsp

Datum.jsp:

Redak koda 11: Ispisujemo današnji datum u liniji koda 11 u date.jsp

Kada izvršite kod, sljedeći je izlaz.

jsp: uključiti

Izlaz:

  • Prikazuje današnji datum s vremenom jer je datoteka s datumom uključena u glavni jsp

jsp:setProperty

  • Ovo svojstvo standardnih akcija u JSP-u koristi se za postavljanje svojstva beana.
  • Moramo definirati bean prije postavljanja svojstva

Sintaksa:

<jsp:setproperty name="" property="" >

Ovdje naziv definira bean čije je svojstvo postavljeno i svojstvo koje želimo postaviti. Također, možemo postaviti vrijednost i atribut param. Ovdje vrijednost nije obavezna i definira vrijednost koja je dodijeljena svojstvu. Ovdje je param naziv parametra zahtjeva pomoću koje se vrijednost može dohvatiti. Primjer setpropertyja bit će prikazan u nastavku s getpropertyjem

jsp:getProperty

  • Ovo se svojstvo koristi za dobivanje svojstva graha.
  • Pretvara se u niz i konačno umeće u izlaz.

Sintaksa:

<jsp:getAttribute name="" property="" >

Ovdje treba definirati ime graha iz kojeg se mora dohvatiti svojstvo i graha. Atribut svojstva je ime svojstva beana koje treba dohvatiti.

Primjer 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;
	}
}

Akcija_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>

Objašnjenje koda:

TestBean.java:

Kodna linija 5: TheTestBean implementira klasu koja se može serijalizirati. To je bean klasa s postavljačima gettera u kodu.

Kodna linija 7: Ovdje uzimamo privatnu string varijablu msg kao "null"

Redak koda 9-14: Ovdje koristimo getere i postavljače varijable "msg".

Akcija_jsp3.jsp

Redak koda 10: Ovdje koristimo oznaku “useBean”, gdje specificira bean tj. TestBean koji se mora koristiti u ovoj jsp klasi

Redak koda 11: Ovdje postavljamo vrijednost za svojstvo msg za bean TestBean kao "GuruTutorial."

CodeLine12: Ovdje koristeći getProperty, dobivamo vrijednost svojstva msg za bean TestBean tj. GuruTutorial koji je tamo u izlazu

Kada izvršite gornji kod, dobit ćete sljedeći izlaz:

jsp:getProperty

Izlaz:

U ovom primjeru, koristeći TestBean, pokušavamo postaviti svojstvo "gurutest" koristeći setProperty i dobiti vrijednost svojstva koristeći getProperty kao "GuruTutorial"

jsp: naprijed

Koristi se za prosljeđivanje zahtjeva na drugu jsp ili bilo koju statičnu stranicu.

Ovdje se zahtjev može proslijediti bez parametara ili s parametrima.

Sintaksa:

<jsp:forward page="value">

Ovdje vrijednost predstavlja gdje se zahtjev mora proslijediti.

Primjer:

Akcija_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_akcija_42.jsp

Guru Action JSP2</title>
</head>
<body>
<a>This is after forward page</a>
</body>
</html>

Objašnjenje koda

Akcija_jsp41.jsp

Redak koda 10: Ovdje koristimo prosljeđivanje JSP radnje za prosljeđivanje zahtjeva na stranicu spomenutu u atributu, tj. jsp_action_42.jsp

Jsp_akcija_42.jsp

Redak koda 10: Nakon što pozovemo action_jsp41.jsp, zahtjev se prosljeđuje ovoj stranici, a mi dobivamo izlaz kao "Ovo je nakon stranice za prosljeđivanje."

Kada izvršimo gornji kod, dobivamo sljedeći izlaz

jsp: naprijed

Izlaz:

Pozivamo action_jsp41.jsp, ali zahtjev se prosljeđuje na jsp_action_42.jsp, a mi dobivamo izlaz s te stranice kao "Ovo je nakon stranice za prosljeđivanje".

jsp: dodatak

  • Koristi se za upoznavanje Java komponente u jsp, tj. java komponente mogu biti applet ili bean.
  • Otkriva preglednik i dodaje ili JSP oznake u datoteku

Sintaksa:

<jsp:plugin type="applet/bean" code="objectcode" codebase="objectcodebase">
  • Ovdje tip specificira ili objekt ili bean
  • Kod specificira naziv klase apleta ili beana
  • Baza koda sadrži osnovni URL koji sadrži datoteke klasa

jsp:param

  • Ovo je podređeni objekt gore opisanog objekta dodatka
  • Mora sadržavati jednu ili više radnji za pružanje dodatnih parametara.

Sintaksa:

<jsp:params>
<jsp:param name="val" value="val"/ >
</jsp:params>

Primjer dodatka i parametra

Akcija_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;
	
}

Objašnjenje koda:

Akcija_jsp5.jsp

Redak koda 10: Ovdje uzimamo jsp: plugin objekt gdje uzimamo tri atributa

  • Vrsta – u ovom slučaju grah
  • Kodni naziv datoteke
  • Codebase – staza s nazivom paketa

Redak koda 11-14: Ovdje uzimamo jsp: params objekt ispod kojeg se nalazi podređeni param objekt sa atributima name i value, te u tim atributima postavljamo vrijednosti id i name.

Student.java

Kod 7- 17: Koristimo getere i settere za varijable id i name

Kod 19-20: inicijaliziramo varijable id i name.

Ovdje ćemo dobiti izlaz u slučaju kada će se postavljene vrijednosti parama koristiti u Student Beanu. U ovom slučaju, nećemo imati izlaz jer samo postavljamo i dobivamo vrijednosti parama, ali ih nigdje ne ispisujemo.

jsp:tijelo

  • Ova se oznaka koristi za dinamičko definiranje XML-a, tj Elementi može generirati tijekom vremena zahtjeva nego vremena kompilacije.
  • On zapravo definira XML, koji se generira dinamički tijelo elementa.

Sintaksa:

<jsp:body></jsp:body>

Ovdje pišemo XML body tag unutar ovih oznaka

jsp:atribut

  • Ova oznaka se koristi za dinamičko definiranje XML-a, tj. elementi se mogu generirati tijekom vremena zahtjeva nego vremena kompilacije
  • On zapravo definira atribut XML-a koji će biti generiran dinamički.

Sintaksa:

<jsp:attribute></jsp:attribute>

Ovdje pišemo oznaku atributa XML-a.

Primjer tijela i atributa:

Akcija_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>

Objašnjenje koda:

Redak koda 10: Ovdje definiramo element koji je dinamički generiran kao XML, a ime će mu biti GuruXMLElement

Redak koda 11-13: Ovdje definiramo atribut koji će XML atribut dinamički generiranog XML-a.

Redak koda 14: Ovdje imamo radnju tijela gdje pišemo XML tijelo koje će biti generirano u dinamički XML-u.

Kada izvršite gornji kod, dobit ćete sljedeći izlaz:

jsp:atribut

Izlaz:

Ovdje dobivamo izlaz iz oznake tijela generiranog XML-a.

jsp:tekst

  • Koristi se za predložak teksta na JSP stranicama.
  • Njegovo tijelo ne sadrži nikakve druge elemente, a sadrži samo tekst i EL izraze.

Sintaksa:

<jsp:text>template text</jsp:text>

Ovdje se tekst predloška odnosi samo na tekst predloška (koji može biti bilo koji generički tekst koji treba biti ispisan na jsp) ili bilo koji EL izraz.

Primjer:

Akcija_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>

Objašnjenje koda:

Redak koda 10: Ovdje uzimamo tekstualni objekt za ispis teksta predloška

Kada izvršite gornji kod, dobit ćete sljedeći izlaz

jsp:tekst

Izlaz:

Dobivamo Guru Template Text, koji se nalazi unutar tekstualnih akcijskih objekata.

jsp: izlaz

  • Određuje XML deklaraciju ili DOCTYPE deklaraciju jsp
  • XML deklaracija i DOCTYPE su deklarirani izlazom

Sintaksa:

<jsp:output doctype-root-element="" doctype-system="">

Ovdje doctype-root-element označava korijenski element XML dokumenta u DOCTYPE. Doctype-system ukazuje na doctype koji se generira u izlazu i daje sistemski literal

Primjer:

<%@ 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>

Objašnjenje koda:

Kodna linija 10: Ovdje koristimo izlazni akcijski objekt za generiranje DOCTYPE-a, a interno će se generirati u ovom formatu:

Za ovo neće biti izlaza jer će se to generirati interno.