JSP-toimintotunnisteet

Mikä on JSP Action?

JSP-toiminnot käyttävät XML-syntaksin rakennetta servlet-moottorin toiminnan ohjaamiseen. Voimme lisätä tiedoston dynaamisesti, käyttää uudelleen papukomponentteja, välittää käyttäjän toiselle sivulle jne. JSP-toimintojen, kuten sisällyttämisen ja edelleenlähetyksen, kautta. Toisin kuin käskyt, toimet arvioidaan uudelleen aina, kun sivua käytetään.

Syntaksi:

<jsp:action_name attribute="value" />

Tässä opetusohjelmassa opit JSP-standarditoiminnoista. JSP Standard Action -tageja käytetään servlet-moottorin toiminnan ohjaamiseen.

Luettelo JSP:n yleisesti käytetyistä toimintotunnisteista

JSP:ssä on 11 tyyppiä vakiotoimintotunnisteita, ja tässä on täydellinen luettelo niistä.

Toimintotunnisteen nimi Syntaksi Tuotetiedot
jsp:useBean Käytetään papujen kutsumiseen ja käyttämiseen JSP-sivulla.
jsp:include Sisällyttää toisen JSP-tiedoston nykyiseen tiedostoon pyynnön käsittelyn aikana.
jsp:setProperty Asettaa pavun ominaisuuden.
jsp:getProperty Hakee pavun ominaisuuden ja muuntaa sen merkkijonoksi tulostamista varten.
jsp: eteenpäin Välittää pyynnön toiselle JSP- tai staattiselle sivulle.
jsp:plugin Esittelee Java komponentit, kuten sovelmat tai pavut, JSP:hen ja luo tunnisteet automaattisesti.
jsp:body Määrittää XML-elementit, jotka luodaan dynaamisesti pyynnön käsittelyn aikana.
jsp:teksti malliteksti Käytetään mallitekstin lisäämiseen JSP-sivuille, jotka sisältävät vain tekstiä ja EL-lausekkeita.
jsp:param Ohjaa parametrit jsp:plugin-toiminnossa lisätietojen lisäämiseksi.
jsp:attribute Määrittää dynaamisesti luodut XML-attribuutit.
jsp:lähtö Määrittää tulosteessa käytettävän XML- tai DOCTYPE-määrityksen.

jsp:useBean

  • Tätä toiminnon nimeä käytetään, kun haluamme käyttää papuja JSP-sivulla.
  • Tämän tagin avulla voimme helposti kutsua papua.

jsp:n syntaksi: UseBean:

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

Tässä se määrittää tämän papun tunnisteen ja luokka on papuluokan täysi polku

Esimerkiksi:

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

Koodin selitys:

Koodirivi 10: Yllä olevassa koodissa käytämme papun "bean id" ja "class polku".

jsp:include

  • Sitä käytettiin myös lisäämään jsp-tiedosto toiseen tiedostoon, aivan kuten include ohjeet.
  • Se lisätään pyynnön käsittelyvaiheessa

jsp:include syntaksi

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

Esimerkiksi:

Action_jsp2 (koodirivi 10) lisäämme date.jsp-tiedoston

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

Koodin selitys:

Action_jsp2.jsp

Koodirivi 10: Ensimmäisessä tiedostossa sisällytetään date.jsp-tiedosto tiedostoon action_jsp2.jsp

Date.jsp:

Koodirivi 11: Tulostamme tämän päivän päivämäärän date.jsp:n koodiriville 11

Kun suoritat koodin, tulos on seuraava.

jsp:include

lähtö:

  • Se näyttää tämän päivän päivämäärän kellonajan kanssa, koska päivämäärätiedosto sisältyy pää-jsp-tiedostoon

jsp:setProperty

  • Tätä JSP:n vakiotoimintojen ominaisuutta käytetään määrittämään papujen ominaisuus.
  • Meidän on määritettävä papu ennen ominaisuuden määrittämistä

Syntaksi:

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

Tässä nimi määrittelee papun, jonka ominaisuus on asetettu, ja ominaisuuden, jonka haluamme asettaa. Voimme myös asettaa arvon ja param-attribuutin. Tässä arvo ei ole pakollinen, ja se määrittää ominaisuudelle määritetyn arvon. Tässä param on pyyntöparametrin nimi, jonka avulla arvo voidaan noutaa. Esimerkki setpropertysta esitetään alla getproperty:n kanssa

jsp:getProperty

  • Tätä ominaisuutta käytetään papun omaisuuden hankkimiseen.
  • Se muunnetaan merkkijonoksi ja lisätään lopulta ulostuloon.

Syntaksi:

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

Tässä papun nimi, josta ominaisuus on haettava, ja papu tulisi määrittää. Ominaisuusattribuutti on noudettavan papuominaisuuden nimi.

Esimerkki setPropertystä ja getPropertysta:

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>

Koodin selitys:

TestBean.java:

Koodirivi 5: TheTestBean toteuttaa serialisoitavaa luokkaa. Se on papuluokka, jonka koodissa on getterien asettajat.

Koodirivi 7: Tässä otamme yksityisen merkkijonomuuttujan msg "nolla"

Koodirivit 9-14: Tässä käytämme muuttujan "msg" saajia ja asettajia.

Action_jsp3.jsp

Koodirivi 10: Tässä käytetään "useBean" tagia, jossa se määrittää papu eli TestBean jota tulee käyttää tässä jsp-luokassa

Koodirivi 11: Tässä asetamme bean TestBeanin ominaisuuden msg arvoksi "GuruTutorial".

CodeLine12: Tässä getPropertyllä saamme bean TestBeanin eli GuruTutorialin ominaisuuden arvon, joka on tuotteessa

Kun suoritat yllä olevan koodin, saat seuraavan tulosteen:

jsp:getProperty

lähtö:

Tässä esimerkissä TestBeanin avulla yritämme asettaa ominaisuuden "gurutest" käyttämällä setPropertyä ja saada ominaisuuden arvon käyttämällä getPropertyä "GuruTutorialina".

jsp: eteenpäin

Sitä käytetään pyynnön välittämiseen toiselle jsp:lle tai mille tahansa staattiselle sivulle.

Täällä pyyntö voidaan välittää ilman parametreja tai parametreilla.

Syntaksi:

<jsp:forward page="value">

Tässä arvo ilmaisee, minne pyyntö on välitettävä.

Esimerkiksi:

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>

Koodin selitys

Action_jsp41.jsp

Koodirivi 10: Tässä käytämme edelleen JSP-toimintoa välittääksemme pyynnön attribuutissa mainitulle sivulle, eli jsp_action_42.jsp

Jsp_action_42.jsp

Koodirivi 10: Kun kutsumme action_jsp41.jsp:tä, pyyntö välitetään tälle sivulle, ja saamme tulosteen muodossa "Tämä on välityssivun jälkeen".

Kun suoritamme yllä olevan koodin, saamme seuraavan tulosteen

jsp: eteenpäin

lähtö:

Kutsumme action_jsp41.jsp:tä, mutta pyyntö välitetään edelleen osoitteeseen jsp_action_42.jsp, ja saamme tämän sivun tulosteen muodossa "Tämä on eteenpäin sivun jälkeen".

jsp:plugin

  • Sitä käytetään esittelyyn Java komponentit jsp:ksi, eli Java-komponentit voivat olla joko sovelmia tai papuja.
  • Se tunnistaa selaimen ja lisää tai JSP-tunnisteet tiedostoon

Syntaksi:

<jsp:plugin type="applet/bean" code="objectcode" codebase="objectcodebase">
  • Tässä tyyppi määrittää joko objektin tai papun
  • Koodi määrittää sovelman tai papun luokan nimen
  • Koodikanta sisältää perus-URL-osoitteen, joka sisältää luokkien tiedostot

jsp:param

  • Tämä on yllä kuvatun laajennusobjektin lapsiobjekti
  • Sen on sisällettävä yksi tai useampi toiminto lisäparametrien antamiseksi.

Syntaksi:

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

Esimerkki laajennuksesta ja parametrista

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>

Opiskelija.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;
	
}

Koodin selitys:

Action_jsp5.jsp

Koodirivi 10: Tässä otamme jsp: plugin-objektin, jossa otamme kolme attribuuttia

  • Tyyppi – tässä tapauksessa se on papu
  • Koodi- tiedoston nimi
  • Koodikanta – polku paketin nimellä

Koodirivit 11-14: Tässä otamme jsp: params -objektin, jonka alla on aliparam-objekti, jolla on attribuutit nimi ja arvo, ja asetamme näissä attribuuteissa id:n ja namen arvot.

Opiskelija.java

Koodi 7-17: Käytämme gettereitä ja settereitä muuttujille id ja name

Koodi 19-20: alustamme muuttujia id ja name.

Täältä saamme tulosteen siinä tapauksessa, että param asetettuja arvoja käytetään Student Beanissa. Tässä tapauksessa meillä ei ole tulosta, koska vain asetamme ja saamme parametrin arvoja, mutta emme tulosta sitä mihinkään.

jsp:body

  • Tätä tunnistetta käytetään XML:n määrittelemiseen dynaamisesti eli elementit voi luoda pyynnön aikana kuin käännösaikana.
  • Se itse asiassa määrittelee XML:n, joka on luotu dynaamisesti elementin runko.

Syntaksi:

<jsp:body></jsp:body>

Tässä kirjoitamme XML-tekstitunnisteen näiden tunnisteiden sisään

jsp:attribute

  • Tätä tunnistetta käytetään XML:n määrittelemiseen dynaamisesti eli elementit voidaan luoda pyynnön aikana kuin käännösaikana
  • Se itse asiassa määrittelee XML:n attribuutin, joka luodaan dynaamisesti.

Syntaksi:

<jsp:attribute></jsp:attribute>

Tänne kirjoitetaan XML:n attribuuttitunniste.

Esimerkki rungosta ja attribuutista:

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>

Koodin selitys:

Koodirivi 10: Tässä määritellään elementti, joka generoidaan dynaamisesti nimellä XML, ja sen nimi on GuruXMLElement

Koodirivit 11-13: Tässä määrittelemme attribuutin, joka määrittää dynaamisesti luodun XML:n XML-attribuutin.

Koodirivi 14: Tässä on body action, jossa kirjoitamme XML-runkoa, joka luodaan dynaamisesti XML:ssä.

Kun suoritat yllä olevan koodin, saat seuraavan tulosteen:

jsp:attribute

lähtö:

Täältä saamme tulosteen luodun XML:n body tagista.

jsp:teksti

  • Sitä käytetään tekstin mallintamiseen JSP-sivuilla.
  • Sen runko ei sisällä muita elementtejä, ja se sisältää vain tekstiä ja EL-lausekkeita.

Syntaksi:

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

Tässä malliteksti viittaa vain mallitekstiin (joka voi olla mitä tahansa yleistä tekstiä, joka on tulostettava jsp:lle) tai mihin tahansa EL ilmaisu.

Esimerkiksi:

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>

Koodin selitys:

Koodirivi 10: Tässä otamme tekstiobjektin tulostamaan mallitekstin

Kun suoritat yllä olevan koodin, saat seuraavan tulosteen

jsp:teksti

lähtö:

Saamme Guru-mallitekstiä, joka sijoitetaan tekstitoimintoobjekteihin.

jsp:lähtö

  • Se määrittää jsp:n XML- tai DOCTYPE-ilmoituksen
  • XML-ilmoituksen ja DOCTYPE:n ilmoittaa tulos

Syntaksi:

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

Tässä doctype-root-element osoittaa XML-dokumentin juurielementin DOCTYPE:ssä. Doctype-system ilmaisee doctypen, joka generoidaan tulostuksessa ja antaa järjestelmälle kirjaimellisen

Esimerkiksi:

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

Koodin selitys:

Koodirivi 10: Tässä käytämme tulostoimintoobjektia DOCTYPE:n luomiseen, ja sisäisesti se luodaan tässä muodossa:

Tälle ei ole tulosta, koska se luodaan sisäisesti.