Commit 2d833e5b by Patryk Czarnik

Przykładowy prosty JSP

parent 9f3dc486
...@@ -35,5 +35,11 @@ ...@@ -35,5 +35,11 @@
<li><a href="Kalkulator4">Kalkulator4</a> - zrefaktoryzowany POST</li> <li><a href="Kalkulator4">Kalkulator4</a> - zrefaktoryzowany POST</li>
</ul> </ul>
<h3>Przykłady JSP</h3>
<ul>
<li><a href="przyklad.jsp">przyklad.jsp</a></li>
<li><a href="przyklad.jsp?imie=Ala&liczba1=12&liczba2=13">przyklad.jsp</a> z parametrami</li>
</ul>
</body> </body>
</html> </html>
<%@page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@page import="java.time.LocalTime"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Przykład JSP</title>
</head>
<body>
<h1>Przykład JSP</h1>
<h2>Zwykły HTML</h2>
<p>Zasadniczo, można tutaj pisać jak w zwykłym HTML-u...</p>
<!-- To jest komentarz HTML, który trafi do klienta. -->
<%-- To jest komentarz JSP - on nie trafi do klienta w żadnej formie. --%>
<h2>Skryptlety</h2>
<p>Czyli fragmenty kodu Java</p>
<%-- W JSP można umieszczać fragmenty kodu Java - to się nazywa "scriptlet".
Te instrukcje wykonają się po stronie serwera. Np. mogą skorzystać z bazy danych itp.
To działa inaczej niż JavaScript, który wykonuje się w przeglądarce.
--%>
<%
System.out.println("To wypisało JSP..."); // na konsolę
out.println("a kuku"); // na stronie, w odp. do klienta
// out to jest przykład "implicit object", czyli zmiennej, która jest już zadeklarowana i której używać w kodzie
// To jest TEN PrintWriter, którego używaliśmy w serwletach pisząc PrintWriter out = response.getWriter();
int x = 15;
x++;
%>
<p>Z powrotem HTML</p>
<p>Tak można wypisać wartość: <%=x %></p>
<p>Godzina <%=LocalTime.now()%></p>
<%-- Deklaracja na poziomie klasy. Można np. zadeklarować zmienna statyczną ("globalną"). --%>
<%! static int licznik = 0; %>
<p>Licznik: <%= ++licznik %></p>
<h2>Expression Language</h2>
<%--
Bezpośrednie wstawianie kodu Javy jest "brzydkie".
W JSP technikami bardziej zalecanymi są wyrażenia "EL" ("Expression Language")
oraz biblioteki tagów (taglibs) w połaczeniu z dostępem do obiektów "bean" przygotowanych przez aplikację.
--%>
<p>Wynik działania: ${2*3+4}</p>
<p>Parametr imie: ${param.imie}</p>
<p>Wynik liczba1+liczba2: <strong>${param.liczba1 + param.liczba2}</strong></p>
<h2>Taglibs - biblioteki tagów</h2>
<ol>
<c:forEach var="imie" items="Ala,Ola,Ela,Ula">
<li>${imie}</li>
</c:forEach>
</ol>
</body>
</html>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment