Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
2
20230403
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Patryk Czarnik
20230403
Commits
8c706b9a
Commit
8c706b9a
authored
Apr 06, 2023
by
Patryk Czarnik
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Przyjkłady JSP
parent
2da4e062
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
148 additions
and
0 deletions
+148
-0
pom.xml
PC24-Serwlety/pom.xml
+12
-0
PrzykladowyBean.java
PC24-Serwlety/src/main/java/beans/PrzykladowyBean.java
+30
-0
przyklad1.jsp
PC24-Serwlety/src/main/webapp/przyklad1.jsp
+47
-0
przyklad2.jsp
PC24-Serwlety/src/main/webapp/przyklad2.jsp
+59
-0
No files found.
PC24-Serwlety/pom.xml
View file @
8c706b9a
...
@@ -35,5 +35,17 @@
...
@@ -35,5 +35,17 @@
<artifactId>
commons-lang3
</artifactId>
<artifactId>
commons-lang3
</artifactId>
<version>
3.12.0
</version>
<version>
3.12.0
</version>
</dependency>
</dependency>
<dependency>
<groupId>
javax.servlet
</groupId>
<artifactId>
jstl
</artifactId>
<version>
1.2
</version>
</dependency>
<!-- Najnowsza wersja z innymi identyfikatorami:
<dependency>
<groupId>jakarta.servlet.jsp.jstl</groupId>
<artifactId>jakarta.servlet.jsp.jstl-api</artifactId>
<version>3.0.0</version>
</dependency>
-->
</dependencies>
</dependencies>
</project>
</project>
PC24-Serwlety/src/main/java/beans/PrzykladowyBean.java
0 → 100644
View file @
8c706b9a
package
beans
;
import
java.time.LocalDateTime
;
public
class
PrzykladowyBean
{
private
String
napis
=
"Ala ma kota"
;
// Klasa pełniąca rolę beana musi mieć konstruktor bezargumentowy.
// Uwaga: jeśli nie stworzymy żadnego konstruktora, to jest generowany automatycznie konstruktor domyślny.
public
String
getNapis
()
{
return
napis
;
}
public
void
setNapis
(
String
napis
)
{
this
.
napis
=
napis
;
}
// Przykład metody, któr "wygląda jak getter", a może być łatwo wywoływana w JSP itp. miejscach,
// jako "read-only property".
public
LocalDateTime
getCurrentTime
()
{
return
LocalDateTime
.
now
();
}
@Override
public
String
toString
()
{
return
"PrzykladowyBean, napis = "
+
napis
;
}
}
PC24-Serwlety/src/main/webapp/przyklad1.jsp
0 → 100644
View file @
8c706b9a
<
%@
page
language=
"java"
contentType=
"text/html; charset=UTF-8"
pageEncoding=
"UTF-8"
%
>
<
%@
page
import=
"java.time.LocalTime"
%
>
<!DOCTYPE html>
<html>
<head>
<meta
charset=
"UTF-8"
>
<title>
Przykład JSP
</title>
</head>
<body>
<h1>
Przykład JSP
</h1>
<p>
Zwykły HTML jest po prostu wysyłany do klienta.
</p>
<
%
--
To
jest
komentarz
JSP
.
Jego
tre
ść
nie
zostanie
wys
ł
ana
do
klienta
.
--
%
>
<!-- To jest komentarz HTML. Jego treść zostanie wysłana do klienta, ale przeglądarka jej nie wyświetli. -->
<
%
--
Tutaj
widzimy
podstawowe
rozumienie
czym
jest
JSP
(
Java
/
Jakarta
Server
Pages
)
:
Pisanie
HTML
ze
wstawkami
Javy
.
Uwaga
,
to
jest
najstarszy
styl
u
ż
ycia
JSP
.
W
nast
ę
pnym
przyk
ł
adzie
zobaczycie
podej
ś
cie
"
bardziej
nowoczesne
".
--
%
>
<
%
--
Zasadniczo
w
JSP
piszemy
tagi
HMTL
i
tre
ś
ci
,
kt
ó
re
maj
ą
by
ć
wys
ł
ane
w
odpowiedzi
do
klienta
.
--
%
>
<
%
--
Natomiast
wstawiaj
ą
c
"
skryptlet
",
mo
ż
emy
wykona
ć
fragment
kodu
Javy
.
S
ą
tam
dost
ę
pne
"
implicit
objects
",
np
.
request
,
response
,
out
-
jak
w
serwletach
.
<%
...
%
>
zwykły blok kodu
--%>
<
%
int
x =
12
+
13
;
out
.
println
("
a
to
wypisa
ł
a
Java
,
x =
" + x);
System.out.println("
To
wypisa
ł
o
JSP
na
konsol
ę.");
%
>
<
%
--
<%=
wyra
ż
enie
%
>
- wstawienie wartości --%>
<p>
Wartość zmiennej x wynosi
<
%=
x
%
>
, a bieżący czas to
<
%=
LocalTime
.
now
()
%
>
.
</p>
<
%
--
<%!
deklaracja
z
poziomu
klasy
%
>
- pozwala deklarować pola i metody w klasie serwletu --%>
<
%!
static
int
licznik =
0;
%
>
<
%!
String
akuku
()
{
return
"
akuku
,
teraz
licznik
ma
warto
ść
"
+
licznik
;
}
%
>
<p>
Wartość licznika:
<
%=
++
licznik
%
></p>
<p>
Wynik metody:
<
%=
akuku
()
%
></p>
</body>
</html>
PC24-Serwlety/src/main/webapp/przyklad2.jsp
0 → 100644
View file @
8c706b9a
<
%@
page
language=
"java"
contentType=
"text/html; charset=UTF-8"
pageEncoding=
"UTF-8"
%
>
<
%@
taglib
prefix=
"c"
uri=
"http://java.sun.com/jsp/jstl/core"
%
>
<
%
--
W
wersji
JSTL
3
.
0
(
Jakarta
10
)
uri=
"jakarta.tags.core"
--
%
>
<!DOCTYPE html>
<html>
<head>
<meta
charset=
"UTF-8"
>
<title>
Przykład JSP
</title>
</head>
<body>
<h1>
Przykład JSP 2
</h1>
<
%
--
Wpisuj
ą
c
w
dowolne
miejsce
tre
ś
ci
znacznik
${
WYRA
Ż
ENIE
}
powodujemy
,
ż
e
WYRA
Ż
ENIE
zostanie
obliczone
a
wynik
trafi
do
tre
ś
ci
.
WYRA
Ż
ENIA
,
kt
ó
re
mo
ż
na
wpisywa
ć,
to
tzw
.
"
Expression
Language
",
"
EL
".
--
%
>
<p>
Wynik działania: ${2 + 3 * 4}.
</p>
<p>
Parametr imie: ${param.imie}.
</p>
<
%
--
G
łó
wnym
zastosowaniem
EL
jest
dost
ę
p
do
obiekt
ó
w
nazywanych
"
beans
".
Te
obiekty
mog
ą
by
ć
wst
ę
pnie
utworzone
przez
aplikacj
ę,
albo
mog
ą
by
ć
tworzone
w
samym
skrypcie:
--
%
>
<jsp:useBean
id=
"obiekt"
class=
"beans.PrzykladowyBean"
/>
<p>
Obiekt: ${obiekt}
</p>
<p>
Napis: ${obiekt.napis}
</p>
<
%
--
Wypisanie
ca
ł
ego
obiektu
jest
realizowane
poprzez
wywo
ł
anie
metody
toString
(),
a
dost
ę
p
do
pola
w
obiekcie
poprzez
wywo
ł
anie
gettera
.
${
obiekt
.
napis
}
jest
t
ł
umaczone
na
obiekt
.
getNapis
()
--
%
>
<
%
--
Zmiana
warto
ś
ci
poprzez
wywo
ł
anie
settera:
--
%
>
<jsp:setProperty
name=
"obiekt"
property=
"napis"
value=
"Ola ma psa"
/>
<p>
Napis po zmianie: ${obiekt.napis}
</p>
<ul>
<li>
cały DateTime: ${obiekt.currentTime}
</li>
<li>
rok: ${obiekt.currentTime.year}
</li>
<li>
dzień roku: ${obiekt.currentTime.dayOfYear}
</li>
<li>
sekunda: ${obiekt.currentTime.second}
</li>
</ul>
<
%
--
Przyk
ł
adowe
u
ż
ycia
tag
ó
w
z
biblioteki
JSTL
Core
--
%
>
<
%
--
Typowym
zastosowaniem
forEach
jest
przegl
ą
danie
element
ó
w
kolekcji
,
np
.
wynik
ó
w
zapytania
bazodanowego
.
Tutaj
co
ś
prostszego:
--
%
>
<ol>
<c:forEach
var=
"miasto"
items=
"Warszawa,Kraków,Wrocław,Gdańsk"
>
<li>
${miasto}
</li>
</c:forEach>
</ol>
<c:if
test=
"${not empty param.imie}"
>
<p>
Witaj ${param.imie}
</p>
<jsp:setProperty
name=
"obiekt"
property=
"napis"
value=
"${param.imie} ma psa"
/>
<p>
Napis po zmianie: ${obiekt.napis}
</p>
</c:if>
</body>
</html>
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment