«Vorige zelfstudie: JSP-richtlijnen
Volgende zelfstudie: JSP-acties »
Scriptlets zijn niets anders dan Java-code ingesloten in <% en%> tags . JSP-container verplaatst de daarin ingesloten instructies naar de methode _jspService () terwijl een servlet wordt gegenereerd vanuit JSP. De reden voor het kopiëren van deze code naar de servicemethode is: Voor elke clientaanvraag wordt de _jspService () -methode aangeroepen, vandaar dat de code erin wordt uitgevoerd voor elke aanvraag van de client.
Syntaxis van Scriptlet:
[code taal = "java"] <% Uitvoerbare java code%> [/ code]
JSP naar Servlet-overgang voor Scriptlet -
Zoals ik in mijn vorige tutorials heb gezegd dat JSP niet rechtstreeks wordt uitgevoerd, wordt het eerst omgezet in een Servlet en daarna gebeurt de uitvoering van Servlet zoals normaal. Ik legde ook in eerste alinea uit dat terwijl de vertaling van JSP naar servlet, de Java-code wordt gekopieerd van de scriptlet naar de methode _jspService (). Laten we kijken hoe dat gebeurt.
Voorbeeld JSP-code:
[code taal = "html"]
<H3> Voorbeeld JSP </H3>
<% myMethod ();%>
[/code]
Opmerking: puntkomma aan het einde van het scriptlet.
Overeenkomstige vertaalde Servlet-code voor bovenstaande JSP-code:
[code taal = "java"]
public void _jspService (HttpServletRequest request,
HttpServletResponse-reactie)
gooit ServletException, IOException {
response.setContentType ( "text / html");
HttpSession session = request.getSession ();
JspWriter out = response.getWriter ();
out.println ("<H2> Voorbeeld JSP </H2>");
myMethod ();
}[/code]
Een voorbeeld om meer te weten te komen over Scripting-elementen:
[code taal = "java"]
<% - Een jsp-voorbeeld om de JSP-scriptelementen te leren -%>
<% String string1 = "JSP-scriptlet";%>
<%! String string2 = "";%>
<Html>
<Head>
<title> JSP-pagina: Welkom </title>
</ Head>
<Body>
<H1>
<% - Dit is een expressie-statement -%>
Welkom bij <% = string1%>
</ H1>
<% - sciptlet voorbeeld -%>
<% if (localstring.equals ("JSP-scriptlet")) {%>
Hoi
<%}
anders {%>
Hallo
<%}%>
<% - hetzelfde kan ook op deze manier worden gedaan -%>
<% if (localstring.equals ("JSP-scriptlet"))
out.println ( "Hallo" + string2);
anders
out.println ( "hallo");
%>
</ Body>
</ Html> [/ code]
In het bovenstaande voorbeeld zijn er vele soorten JSP-elementen aanwezig zoals Expression, JSP comment, Declaration element etc. We zullen ze allemaal in komende JSP-tutorials zien, maar vanaf nu kunt u zich alleen concentreren op Scriptlets. Hieronder staan de scriptlets-instructies die in het bovenstaande voorbeeld worden gebruikt -
[code taal = "java"]
<% if (localstring.equals ("JSP-scriptlet"))
out.println ( "Hallo" + string2);
anders
out.println ( "hallo");
%> [/ Code]
De bovenstaande code is een JSP-scriptlet (bericht begint met <% en einde%> tags). Als u bovenstaande stuk code analyseert, zou u merken dat de code in tags een pure Java-code is, dus om Java-code in JSP uit te voeren, gebruiken we scriptlets.
[code taal = ”java”] <% String string1 = "JSP scriptlet";%> [/ code]
Net als de bovenstaande set instructies is deze instructie een Java-initialisatiecode die is ingesloten in tags.
Afgezien van de bovenstaande twee set scriptlets zijn er vele andere scriptlet-tags aanwezig in het bovenstaande voorbeeld (let op if-else control flow logic). Om de if-else control flow statements van Java te gebruiken, hebben we in het bovenstaande voorbeeld een scriptlet gebruikt. Omdat dit het be>
Een voorbeeld om het gebruik van if -else met scriptlet te tonen -
Stel dat er een variabel nummer is en u “hallo” op uw webpagina wilt weergeven als deze groter is dan 5, anders wilt u een bericht weergeven. Overweeg de onderstaande code voor dit scenario -
Als je een code in Java wilt schrijven voor bovenstaande situatie dan zou het er zo uitzien -
[code taal = "java"]
if (aantal> 5)
{
out.println ( "hallo");
}
anders
{
out.println ("aantalwaarde mag niet minder zijn dan 6");
}[/code]
Om de vergelijkbare code in JSP te schrijven, moeten we JSP-scriptlets gebruiken - Code zou er zo uitzien -
[code taal = "html"]
<! DOCTYPE HTML PUBLIC "- // W3C // DTD HTML4.0 vertaling // EN">
<HTML>
<Head>
<TITLE> MIJN JSP-PAGINA </TITLE>
</ HEAD>
<BODY>
<% if (aantal> 5) {%>
<H3> hallo </H3>
<%} anders {%>
<h3> num-waarde mag niet minder zijn dan 6 </h3>
<%}%>
</ BODY>
</ HTML>
[/code]
Be> Omdat de code erin een Java-code is, moet deze eindigen met een puntkomma (;). Let nu op alle verklaringen - misschien vindt u dat alle enkele scriptlet waar we puntkomma in Java geven, heeft het hier ook nodig en eindigt met een puntkomma.
hoe kan ik een scriplet schrijven om een lus 10 keer uit te voeren