--Passing-Parameter zwischen jsp ⇔ Servlet
--EL Typ --JSTL-Tag
Der EL-Ausdruck (Expression Language) ist eine Methode, mit der Sie die Übergabe von Anforderungsparametern auf der JSP-Seite kurz beschreiben können.
Schreiben Sie einfach "$ {Parametername}". (Im Fall eines Objekts $ {Parametername.Eigenschaftsname}
)
Wenn Sie den Parameter "name" auf der JSP-Seite empfangen und anzeigen,
mypage.jsp(bis jetzt)
<%
String username=request.getAttribute("name").toString();
%>
<%=username%>Herzlich willkommen
Ich habe einen zweistufigen Prozess durchlaufen, aber als ich die EL-Formel verwendet habe
mypage.jsp
${name}Herzlich willkommen
Einfach schreiben. Die Menge der Beschreibung wird reduziert und ist leichter zu erkennen, aber der größte Vorteil ist, dass Sie die Logik von "Java" nicht schreiben müssen. Es ist auch möglich, einen einfachen Ausdruck wie $ {age> 20} zu schreiben, da dieser mit EL "expression" gekennzeichnet ist.
EL-Ausdrücke können im vorherigen Abschnitt verwendet werden, aber die Verarbeitung wie Schleifen und bedingte Verzweigung muss mit Java-Code eingebettet werden.
Hier kommt die "Tag Library" namens "JSTL" ins Spiel. Eine Tag-Bibliothek ist eine Gruppe von Dateien, die Java-Logik mithilfe von Tags wie HTML wie "
JSTL ist eine kostenlose Open Source-Bibliothek, die von Apache bereitgestellt wird.
WEB-INF / lib
des Projektordners.mypage.jsp
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
web.xml
<!-- 3.1 ist auskommentiert-->
<!--
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
id="WebApp_ID"
version="3.1">
-->
<web-app version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
Die Beschreibungsmethode des Web-App-Tags für jede App-Version wird übrigens auf der folgenden Website ausführlich beschrieben. KATSUMI KOKUZAWA'S BLOG
--if Aussage
mypage.jsp
<c:choose>
<c:when test="${name == 'hato'}">Herr Administrator, Hallo</c:when>
<c:when test="${name == ''}">Anonym, Hallo</c:when>
<c:otherwise>Allgemeiner Benutzer, Hallo</c:when>
</c:choose>
Etikett | Element | Inhalt |
---|---|---|
choose | - | Der in diesem Tag enthaltene Inhalt besteht aus einer Reihe von if-Anweisungsblöcken. |
when | - | Entspricht if else in einer if-Anweisung. |
when | item | Wenn dieses Element wahr ist, wird der im Tag enthaltene Teil ausgeführt. |
otherwise | - | Entspricht der if-Anweisung. Wird ausgeführt, wenn kein Treffer in wann erfolgt. |
--für Aussage
LoginServlet.java
List<String> list=Arrays.asList("one","two","three","four");
req.setAttribute("list",list);
mypage.jsp
<c:forEach var="v" items="${list}" varStatus="list">
${v} ${list.count}
<!--
one 1
two 2
three 3
four 4
Ausgänge
-->
</c:forEach>
<c:forEach begin="1" end="7" step="2" varStatus="c">
hello ${c.count}
<!--
hello 1
hello 2
hello 3
Ausgänge
-->
</c:forEach>
Etikett | Element | Inhalt |
---|---|---|
forEach | var | Variablen, die auf die aus Elementen abgerufenen Elemente zugreifen |
items | Geben Sie eine Sammlung an (schreiben Sie normalerweise einen EL-Ausdruck). | |
varStatus | Variablen, die auf den Wiederholungsstatus zugreifen (z. B. die Anzahl der Schleifen) | |
begin | Startposition der Schleife | |
end | Endposition der Schleife | |
step | Menge erhöhen (grundsätzlich 1) |
Das obige für Each ist eine erweiterte for-Anweisung
exFor.java
for(String item:list){
System.out.println(item);
}
Das für jedes unten ist eine gewöhnliche for-Anweisung
For.java
for(int i=1;i<=7;i=i+2){
System.out.println("hello"+i);
}
Es ist leicht zu merken, weil das Verhalten ähnlich ist.
Es gibt andere Kernbibliotheken wie "<c: param>" und "<c: set>", aber sie sind zu lang, um sie zu erklären, daher werde ich sie weglassen. Darüber hinaus gibt es zahlreiche Bibliotheken wie "Format" und "XML".
--Graduiert von <% request.getAttribute (" hogehoge ");%>
mit EL-Ausdruck
--Graduiert von <% if (~)%>
und <% für (~)%>
in JSTL
Wenn Sie es praktisch machen möchten, benötigen Sie auf jeden Fall Javascript. Wenn Sie jedoch EL-Ausdrücke und JSTL vollständig nutzen, müssen Sie keine Java-Logik schreiben und die JSP-Datei vereinfachen.
Recommended Posts