Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
J
java_weekendowa_20221008
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
java_weekendowa_20221008
Commits
77f44962
Commit
77f44962
authored
Oct 22, 2022
by
Patryk Czarnik
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Pierwsze przykłady JSP
parent
0d8b2964
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
104 additions
and
0 deletions
+104
-0
pom.xml
PC23-Serwlety/pom.xml
+6
-0
ExampleBean.java
PC23-Serwlety/src/main/java/beans/ExampleBean.java
+40
-0
index.html
PC23-Serwlety/src/main/webapp/index.html
+5
-0
przyklad2.jsp
PC23-Serwlety/src/main/webapp/przyklad2.jsp
+53
-0
No files found.
PC23-Serwlety/pom.xml
View file @
77f44962
...
...
@@ -31,6 +31,12 @@
<version>
8.0.1
</version>
</dependency>
<dependency>
<groupId>
javax.servlet
</groupId>
<artifactId>
jstl
</artifactId>
<version>
1.2
</version>
<scope>
provided
</scope>
</dependency>
<dependency>
<groupId>
org.apache.commons
</groupId>
<artifactId>
commons-lang3
</artifactId>
<version>
3.12.0
</version>
...
...
PC23-Serwlety/src/main/java/beans/ExampleBean.java
0 → 100644
View file @
77f44962
package
beans
;
import
java.time.LocalDateTime
;
import
java.util.ArrayList
;
import
java.util.List
;
public
class
ExampleBean
{
private
String
napis
=
"Ala ma kota"
;
private
int
licznik
=
0
;
private
final
List
<
String
>
lista
=
new
ArrayList
<>(
List
.
of
(
"Warszawa"
,
"Kraków"
,
"Wrocław"
,
"Gdańsk"
));
public
String
getNapis
()
{
return
napis
;
}
public
void
setNapis
(
String
napis
)
{
this
.
napis
=
napis
;
}
public
synchronized
int
getLicznik
()
{
return
++
licznik
;
}
// Metoda może wyglądać jak getter, ale zamiast po prostu zwracać wartość pola z obiektu,
// może pobrać dane z innego źródła: bieżący czas, dane z pliku, z bazy danych, obliczona na podstawie innych wartości.
// W skryptach JSP, Thymeleaf itp. można ten getter wywołać pisząc bean.currentTime
public
LocalDateTime
getCurrentTime
()
{
return
LocalDateTime
.
now
();
}
public
List
<
String
>
getLista
()
{
return
lista
;
}
@Override
public
String
toString
()
{
return
"ExampleBean z napisem "
+
napis
+
" i aktualną wartością licznika "
+
licznik
;
}
}
PC23-Serwlety/src/main/webapp/index.html
View file @
77f44962
...
...
@@ -45,6 +45,11 @@
<li><a
href=
"Kalkulator9"
>
Kalkulator 9
</a>
- wersja z
<code>
forward
</code>
i widokiem JSP
</li>
</ul>
<h3>
Przykłady JSP
</h3>
<ul>
<li><a
href=
"przyklad1.jsp"
>
przyklad1
</a>
- podstawa działania i skryptlety
</li>
<li><a
href=
"przyklad2.jsp"
>
przyklad2
</a>
- wyrażenia EL, beany i tgliby
</li>
</ul>
</body>
</html>
PC23-Serwlety/src/main/webapp/przyklad2.jsp
0 → 100644
View file @
77f44962
<
%@
page
language=
"java"
contentType=
"text/html; charset=UTF-8"
pageEncoding=
"UTF-8"
%
>
<
%@
taglib
prefix=
"c"
uri=
"http://java.sun.com/jsp/jstl/core"
%
>
<
%@
page
import=
"java.time.LocalTime"
%
>
<!DOCTYPE html>
<html>
<head>
<meta
charset=
"UTF-8"
>
<title>
Przykład JSP 2
</title>
</head>
<body>
<h1>
Przykład JSP 2
</h1>
<
%
--
Stosowanie
skryptlet
ó
w
,
czyli
bezpo
ś
rednie
wstawianie
kodu
Javy
do
JSP
,
jest
obecnie
uwa
ż
ane
za
z
łą
praktyk
ę,
a
nale
ż
y
u
ż
ywa
ć
sposob
ó
w
bardziej
"
wysokopoziomowych
",
jak:
-
wyra
ż
enia
EL
("
Expression
Language
"),
czyli
${...}
-
za
ich
pomoc
ą
odwo
ł
ania
do
"
bean
ó
w
",
czyli
obiekt
ó
w
istniej
ą
cych
po
strony
Javy
,
-
biblioteki
tag
ó
w
("
taglibs
")
--
%
>
<h2>
Expression Language
</h2>
<p>
Wynik obliczenia: ${2+3*4}
</p>
<p>
Parametr imie: ${param.imie}
</p>
<hr>
<h2>
Beans
</h2>
<jsp:useBean
id=
"obiekt"
class=
"beans.ExampleBean"
/>
<p>
${obiekt}
</p><
%
--
To
powoduje
wywo
ł
anie
toString
()
--
%
>
<p>
napis: ${obiekt.napis}, licznik: ${obiekt.licznik}
</p><
%
--
To
powoduje
wywo
ł
anie
obiekt
.
getNapis
()
--
%
>
<p>
Licznik po raz drugi: ${obiekt.licznik}
</p>
<p>
Bieżący czas: ${obiekt.currentTime}
</p>
<p>
Pola czasu: ${obiekt.currentTime.dayOfWeek}, ${obiekt.currentTime.dayOfYear} dzień roku, sekunda ${obiekt.currentTime.second}
</p>
<hr>
<p>
Zmieniam tekst...
</p>
<jsp:setProperty
name=
"obiekt"
property=
"napis"
value=
"Ola ma ${1+2} psy"
/><
%
--
mo
ż
na
te
ż
param
zamiast
value
--
%
>
<p>
Teraz tekst jest taki: ${obiekt.napis}
</p>
<h2>
Taglibs
</h2>
<ul>
<c:forEach
var=
"x"
items=
"Ala,Ola,Ela"
>
<li>
Witaj ${x}!
</li>
</c:forEach>
</ul>
<p>
Liczby:
<c:forEach
var=
"i"
begin=
"10"
end=
"20"
step=
"2"
>
${i},
</c:forEach></p>
<
%
--
Najcz
ęś
ciej
dane
do
forEach
s
ą
pobierane
z
jakiego
ś
beana
w
formie
kolekcji
lub
tablicy
.
--
%
>
<ol>
<c:forEach
var=
"miasto"
items=
"${obiekt.lista}"
>
<li>
${miasto}
</li>
</c:forEach>
</ol>
</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