JSP-actielabels

โšก Slimme samenvatting

JSP-actietags gebruiken XML-syntaxis om het gedrag van de servlet-engine te beheren, waardoor ontwikkelaars bestanden kunnen toevoegen, verzoeken kunnen doorsturen en met elkaar kunnen werken. JavaBeans, en het insluiten van dynamische inhoud tijdens de verwerking van het verzoek.

  • ???? ๏ธ Standaardreeks: Elf standaard actietags verwerken includes, forwards, beans, plugins en XML-output.
  • ๐Ÿ“œ XML-syntaxis: Actietags volgen een strikte XML-vorm en worden bij elk verzoek opnieuw geรซvalueerd.
  • ๐Ÿ”— Bean-integratie: jsp:useBean, jsp:setProperty en jsp:getProperty beheren JavaLevenscyclus en eigenschappen van een bean.
  • โœ… Paginaverloop: jsp:include voegt resources samen; jsp:forward draagt โ€‹โ€‹de afhandeling van verzoeken over aan een andere pagina.
  • ๐Ÿงช Dynamische XML: jsp:body, jsp:attribute, jsp:text en jsp:output genereren dynamisch XML-structuren.
  • ๐Ÿค– AI-modernisering: AI-assistenten helpen bij het herstructureren van verouderde JSP-actiecode naar moderne frameworks.

JSP-actielabels

Wat is een JSP-actietag?

JSP-actietags gebruiken XML-syntaxisconstructies om het gedrag van de servlet-engine te beheren. Ontwikkelaars kunnen dynamisch een bestand invoegen en hergebruiken. JavaBean-componenten sturen de gebruiker door naar een andere pagina en voeren vergelijkbare runtime-bewerkingen uit via JSP-actietags zoals `include` en `forward`. In tegenstelling tot directives worden actietags elke keer dat de pagina wordt bezocht opnieuw geรซvalueerd, waardoor ze ideaal zijn voor dynamisch gedrag tijdens de verwerking van verzoeken.

Syntax:

<jsp:action_name attribute="value" />

In deze handleiding over standaard JSP-actietags leer je hoe elke actietag werkt, wat hij doet en hoe je hem in een echt JSP-bestand kunt toepassen.

Lijst met veelgebruikte actietags in JSP

Er zijn 11 typen standaardactietags in JSP. Hier is de volledige lijst.

Actie Tag Naam Syntaxis Beschrijving
jsp:useBean Wordt gebruikt om beans aan te roepen en te gebruiken op de JSP-pagina.
jsp: opnemen <jsp:include page=โ€page URLโ€ flush=โ€true/falseโ€ /> Voegt een ander JSP-bestand toe aan het huidige bestand tijdens de verwerking van de aanvraag.
jsp:setProperty Stelt de eigenschap van een bean in.
jsp:getProperty Haalt de eigenschap van een bean op en zet deze om in een tekenreeks voor uitvoer.
jsp:vooruit Stuurt de aanvraag door naar een andere JSP of statische pagina.
jsp: plug-in Introduceert Java componenten zoals applets of beans in JSP en genereert automatisch tags.
jsp: lichaam Definieert XML-elementen die dynamisch worden gegenereerd tijdens de verwerking van de aanvraag.
jsp: tekst sjabloontekst Wordt gebruikt om sjabloontekst in JSP-pagina's in te voegen, die alleen tekst en EL-expressies bevatten.
jsp:param Geeft parameters door binnen de jsp:plugin-actie om extra gegevens toe te voegen.
jsp: attribuut Definieert XML-kenmerken die dynamisch worden gegenereerd.
jsp:uitvoer Geeft de XML- of DOCTYPE-declaratie op die in de uitvoer moet worden gebruikt.

Nu je de volledige lijst hebt, zullen we elk van deze JSP-actietags รฉรฉn voor รฉรฉn bekijken, inclusief de syntaxis en een werkend voorbeeld.

jsp:useBean Actie Tag

  • Deze actienaam wordt gebruikt wanneer u gebruik wilt maken van JavaBeans in de JSP-pagina.
  • Met deze tag kunt u eenvoudig een bean aanroepen en servercomponenten hergebruiken.

Syntaxis van jsp:useBean:

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

Hier geeft 'id' de identificatiecode voor deze bean aan en 'class' is het volledige pad naar de bean-klasse.

Voorbeeld:

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

Uitleg van de code:

Code Regel 10: In de bovenstaande code gebruikt u de "bean-ID" en het "classpath" van de bean.

jsp:include Actie-tag

  • `jsp:include` wordt gebruikt om een โ€‹โ€‹JSP-bestand in een ander bestand in te voegen tijdens de verwerking van een verzoek, vergelijkbaar met het invoegen van een bestand. instructies.
  • Het wordt toegevoegd tijdens de verwerking van het verzoek, wat betekent dat de opgenomen inhoud elke keer dat de pagina wordt opgevraagd, wordt geรซvalueerd.

Syntaxis van jsp:include:

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

Voorbeeld:

In Action_jsp2 (Code Regel 10) We voegen een date.jsp-bestand toe.

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

Uitleg van de code:

Actie_jsp2.jsp

Code Regel 10: In het eerste bestand nemen we het bestand date.jsp op in action_jsp2.jsp.

Datum.jsp:

Code Regel 11: In regel 11 van de code in date.jsp printen we de datum van vandaag.

Wanneer je de code uitvoert, krijg je de volgende uitvoer.

jsp: opnemen

Output:

  • Het toont de datum en tijd van vandaag, aangezien het datumbestand is opgenomen in de hoofd-JSP-pagina.

jsp:setProperty Actie Tag

  • Deze standaardactie in JSP wordt gebruikt om de eigenschap van de bean in te stellen.
  • Je moet een bean definiรซren voordat je de eigenschap kunt instellen.

Syntax:

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

Hier definieert de naam de bean waarvan de eigenschap wordt ingesteld, en 'property' is de eigenschap die u wilt instellen. U kunt ook de attributen 'value' en 'param' instellen. 'Value' is hier niet verplicht en definieert de waarde die aan de eigenschap wordt toegewezen. 'Param' is de naam van de requestparameter waarmee de waarde kan worden opgehaald. Het voorbeeld van 'setProperty' wordt hieronder gedemonstreerd met 'getProperty'.

jsp:getProperty Actie Tag

  • Deze actie wordt gebruikt om de eigenschap van de bean op te halen.
  • Het zet de eigenschap om in een tekenreeks en voegt deze vervolgens in de uitvoer in.

Syntax:

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

Hier is de naam de bean waarvan de eigenschap moet worden opgehaald, en deze bean moet gedefinieerd zijn. Het attribuut 'property' is de naam van de bean-eigenschap die moet worden opgehaald.

Voorbeeld van setProperty en 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;
	}
}

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

Uitleg van de code:

TestBean.java:

Code Lijn 5TestBean implementeert de Serializable-klasse. Het is een bean-klasse met getters en setters in de code.

Code Lijn 7Hier beschouwen we de privรฉ-stringvariabele msg als "null".

Code Lijn 9-14Hier gebruiken we getters en setters van de variabele "msg".

Actie_jsp3.jsp

Code Regel 10: Hier gebruiken we de tag "useBean", waarmee de bean (TestBean) wordt gespecificeerd die in deze JSP-klasse moet worden gebruikt.

Code Regel 11: Hier stellen we de waarde voor de eigenschap msg voor bean TestBean in op "GuruHandleidingโ€.

Code Regel 12: Hier verkrijgen we met behulp van getProperty de waarde van de eigenschap msg voor de bean TestBean (Guru(Tutorial), wat in de uitvoer wordt weergegeven.

Wanneer u de bovenstaande code uitvoert, krijgt u de volgende uitvoer:

jsp:getProperty

Output:

In dit voorbeeld gebruiken we TestBean om de eigenschap "msg" in te stellen met setProperty en de waarde van de eigenschap op te halen met getProperty als "GuruHandleidingโ€.

jsp:forward Actie Tag

De `jsp:forward` actietag wordt gebruikt om het verzoek door te sturen naar een andere JSP-pagina of een statische pagina.

Hier kan het verzoek zonder parameters of met parameters worden doorgestuurd.

Syntax:

<jsp:forward page="value">

Hier vertegenwoordigt de waarde waar het verzoek moet worden doorgestuurd.

Voorbeeld:

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

Uitleg van de code:

Actie_jsp41.jsp

Code Regel 10: Hier gebruiken we de forward JSP-actie om het verzoek door te sturen naar de pagina die in het attribuut wordt vermeld, namelijk jsp_action_42.jsp.

Jsp_action_42.jsp

Code Regel 10: Zodra we action_jsp41.jsp aanroepen, wordt het verzoek doorgestuurd naar deze pagina en krijgen we de uitvoer "Dit is na de doorstuurpagina".

Wanneer we de bovenstaande code uitvoeren, krijgen we de volgende uitvoer.

jsp:vooruit

Output:

We roepen action_jsp41.jsp aan, maar het verzoek wordt doorgestuurd naar jsp_action_42.jsp, en we krijgen de uitvoer van die pagina als "Dit is na de doorstuurpagina".

jsp:plugin Actie Tag

  • Het wordt gebruikt om te introduceren Java componenten in JSP, waar de Java Componenten kunnen zowel applets als beans zijn.
  • Het detecteert de browser en voegt toe of tags in het bestand.

Syntax:

<jsp:plugin type="applet/bean" code="objectcode" codebase="objectcodebase">
  • Hier geeft het type aan of het een object of een bean betreft.
  • Code Specificeert de klassenaam van de applet of bean.
  • Codede basis bevat de basis URL die bestanden met klassen bevat.

jsp:param Actie Tag

  • Dit is een subobject van het hierboven beschreven plugin-object.
  • Het moet een of meer acties bevatten om aanvullende parameters op te geven.

Syntax:

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

Voorbeeld van een plugin en parameter:

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

Uitleg van de code:

Actie_jsp5.jsp

Code Regel 10: Hier gebruiken we het jsp:plugin-object, waaraan we drie attributen toevoegen.

  • Type โ€“ in dit geval is het bean.
  • Code โ€“ naam van het bestand.
  • Codebase โ€“ pad met de pakketnaam.

Code Lijn 11-14: Hier nemen we het jsp:params-object, waaronder zich een subobject param bevindt met de attributen name en value, en we stellen de waarden id en name in deze attributen in.

Student.java

Code 7-17: We gebruiken getters en setters voor de variabelen id en name.

Code 19-20: We initialiseren de variabelen id en name.

Hier krijgen we uitvoer te zien wanneer de ingestelde waarden van `param` worden gebruikt in de `Student`-bean. In dit geval krijgen we geen uitvoer, omdat we alleen de waarden van `param` instellen en ophalen, maar deze nergens afdrukken.

jsp:body Actie Tag

  • Deze tag wordt gebruikt om de XML dynamisch te definiรซren, waarbij de Elementen kan tijdens het aanvragen worden gegenereerd in plaats van tijdens het compileren.
  • Het definieert de XML, die dynamisch wordt gegenereerd als een elementbody.

Syntax:

<jsp:body></jsp:body>

Hier schrijven we de XML-bodytag binnen deze tags.

jsp:attribute Actie Tag

  • Deze tag wordt gebruikt om de XML dynamisch te definiรซren, waarbij de elementen tijdens het aanvragen in plaats van tijdens het compileren kunnen worden gegenereerd.
  • Het definieert het attribuut van de XML die dynamisch gegenereerd zal worden.

Syntax:

<jsp:attribute></jsp:attribute>

Hier schrijven we de attribuut-tag van XML.

Voorbeeld van lichaam en attribuut:

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

Uitleg van de code:

Code Regel 10: Hier definiรซren we een element dat dynamisch wordt gegenereerd als XMLen de naam ervan zal zijn GuruXML-element.

Code Lijn 11-13: Hier definiรซren we een attribuut, dat een XML-attribuut zal zijn van de dynamisch gegenereerde XML.

Code Regel 14: Hier hebben we de body-actie, waar we de XML-body schrijven, die dynamisch gegenereerd zal worden.

Wanneer u de bovenstaande code uitvoert, krijgt u de volgende uitvoer:

jsp: attribuut

Output:

Hier krijgen we de uitvoer van de body-tag van de gegenereerde XML.

jsp:text Actie-tag

  • Het wordt gebruikt om sjabloontekst in JSP-pagina's in te voegen.
  • De hoofdtekst bevat geen andere elementen en bevat alleen tekst en EL-expressies.

Syntax:

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

Hier verwijst sjabloontekst uitsluitend naar sjabloontekst (dit kan elke generieke tekst zijn die op JSP moet worden afgedrukt) of naar andere tekst. EL-expressie.

Voorbeeld:

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

Uitleg van de code:

Code Regel 10: Hier gebruiken we het tekstobject om de sjabloontekst af te drukken.

Wanneer u de bovenstaande code uitvoert, krijgt u de volgende uitvoer.

jsp: tekst

Output:

Wij krijgen Guru Sjabloontekst, die binnen het tekstactieobject wordt geplaatst.

jsp:output Actie Tag

  • Het specificeert de XML-declaratie of de DOCTYPE-declaratie van JSP.
  • De XML-declaratie en DOCTYPE worden door de uitvoer bepaald.

Syntax:

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

Hier geeft doctype-root-element het hoofdelement van het XML-document in DOCTYPE aan. Doctype-system geeft het doctype aan dat in de uitvoer wordt gegenereerd en geeft een systeemliteral.

Voorbeeld:

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

Uitleg van de code:

Code Regel 10: Hier gebruiken we het uitvoeractieobject om een โ€‹โ€‹DOCTYPE te genereren, en intern wordt deze in dit formaat gegenereerd:

Er zal geen zichtbare output zijn, aangezien dit intern gegenereerd wordt.

Veelgestelde vragen

JSP-actietags zijn XML-achtige elementen die het gedrag van de servlet-engine tijdens de verwerking van verzoeken bepalen. Ze stellen ontwikkelaars in staat om bestanden toe te voegen, verzoeken door te sturen en te gebruiken. JavaBeans, applets insluiten en dynamisch XML-uitvoer genereren binnen een JSP-pagina.

Richtlijnen worden eenmaal verwerkt tijdens de paginavertaling en beรฏnvloeden de algehele paginastructuur. Actietags worden bij elk verzoek opnieuw geรซvalueerd, waardoor ze geschikt zijn voor dynamisch gedrag zoals het toevoegen van inhoud, het doorsturen van verzoeken en het samenwerken met JavaBeans tijdens de uitvoering.

Gebruik `jsp:include` wanneer u inhoud van een andere pagina in de huidige respons wilt samenvoegen, zoals kop- of voetteksten. Gebruik `jsp:forward` wanneer de controle volledig moet worden overgedragen aan een andere bron en de huidige pagina geen verdere uitvoer meer mag produceren.

jsp:useBean instantieert of lokaliseert een JavaEen bean binnen een bepaald bereik. `jsp:setProperty` kent een waarde toe aan een bean-eigenschap, en `jsp:getProperty` leest de waarde van de eigenschap en schrijft deze als een tekenreeks in het antwoord, waardoor een duidelijke scheiding tussen presentatie en bean-logica mogelijk is.

jsp:body en jsp:attribute definiรซren dynamische XML-elementlichamen en -attributen. jsp:text schrijft letterlijke sjabloontekst en EL-expressies, en jsp:output bepaalt de XML-declaratie of DOCTYPE die wordt gegenereerd wanneer de JSP zijn respons weergeeft.

AI wordt geรฏntegreerd in JSP- en JEE-applicaties via REST-aanroepen naar model-API's, ingebouwde chatassistenten en aanbevelingswidgets die op JSP-pagina's worden weergegeven. AI helpt ook bij het genereren van standaard JSP-code, het suggereren van het gebruik van actietags en het valideren van de bean-configuratie tijdens de ontwikkeling.

Ja. AI-ondersteunde tools analyseren bestaande JSP-code, identificeren patronen in actietags en stellen refactoring-voorstellen voor naar moderne frameworks zoals Spring MVC, Thymeleaf of REST in combinatie met een single-page applicatie. Ze genereren ook migratietests, afhankelijkheidsrapporten en stapsgewijze refactoringplannen.

Vat dit bericht samen met: