Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
2
20240528-BJava
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
20240528-BJava
Commits
10a32d5e
Commit
10a32d5e
authored
Jun 26, 2024
by
Patryk Czarnik
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Przykład blog
parent
1cf2e1b0
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
123 additions
and
0 deletions
+123
-0
BlogController.java
PC32-Spring/src/main/java/alx/aplikacja/BlogController.java
+30
-0
BlogRestController.java
...pring/src/main/java/alx/aplikacja/BlogRestController.java
+41
-0
BlogService.java
PC32-Spring/src/main/java/alx/aplikacja/BlogService.java
+28
-0
blog.html
PC32-Spring/src/main/resources/templates/blog.html
+24
-0
No files found.
PC32-Spring/src/main/java/alx/aplikacja/BlogController.java
0 → 100644
View file @
10a32d5e
package
alx
.
aplikacja
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.ui.Model
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
@Controller
@RequestMapping
(
"/blog"
)
public
class
BlogController
{
@Autowired
private
BlogService
blogService
;
@GetMapping
public
String
rozmowaGet
()
{
return
"blog.html"
;
}
@PostMapping
public
String
rozmowaPost
(
String
tekst
,
Model
model
)
{
if
(
tekst
!=
null
&&
!
tekst
.
isBlank
())
{
blogService
.
addTekst
(
tekst
);
}
model
.
addAttribute
(
"teksty"
,
blogService
.
getTeksty
());
return
"blog.html"
;
}
}
PC32-Spring/src/main/java/alx/aplikacja/BlogRestController.java
0 → 100644
View file @
10a32d5e
package
alx
.
aplikacja
;
import
java.util.List
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PathVariable
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.PutMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
@RestController
@RequestMapping
(
"/blog.json"
)
public
class
BlogRestController
{
@Autowired
private
BlogService
blogService
;
@GetMapping
public
List
<
String
>
getTeksty
()
{
return
blogService
.
getTeksty
();
}
@GetMapping
(
path
=
"/{numer}"
,
produces
=
"text/plain"
)
public
String
getTekst
(
@PathVariable
(
"numer"
)
int
i
)
{
return
blogService
.
getTekst
(
i
);
}
@PutMapping
(
path
=
"/{numer}"
,
consumes
=
"text/plain"
)
public
void
setTekst
(
@PathVariable
(
"numer"
)
int
i
,
@RequestBody
String
tekst
)
{
blogService
.
setTekst
(
i
,
tekst
);
}
@PostMapping
(
consumes
=
"text/plain"
)
public
void
addTekst
(
@RequestBody
String
tekst
)
{
blogService
.
addTekst
(
tekst
);
}
}
PC32-Spring/src/main/java/alx/aplikacja/BlogService.java
0 → 100644
View file @
10a32d5e
package
alx
.
aplikacja
;
import
java.util.ArrayList
;
import
java.util.Collections
;
import
java.util.List
;
import
org.springframework.stereotype.Component
;
@Component
public
class
BlogService
{
private
List
<
String
>
teksty
=
Collections
.
synchronizedList
(
new
ArrayList
<>());
public
List
<
String
>
getTeksty
()
{
return
Collections
.
unmodifiableList
(
teksty
);
}
public
String
getTekst
(
int
i
)
{
return
teksty
.
get
(
i
);
}
public
void
setTekst
(
int
i
,
String
tekst
)
{
teksty
.
set
(
i
,
tekst
);
}
public
void
addTekst
(
String
tekst
)
{
teksty
.
add
(
tekst
);
}
}
PC32-Spring/src/main/resources/templates/blog.html
0 → 100644
View file @
10a32d5e
<!DOCTYPE html>
<html
lang=
"pl"
xmlns:th=
"http://www.thymeleaf.org"
>
<head>
<meta
charset=
"UTF-8"
>
<title>
Blog
</title>
<link
rel=
"stylesheet"
type=
"text/css"
th:href=
"@{/styl.css}"
href=
"../static/styl.css"
>
</head>
<body>
<h1>
Blog - wersja webowa
</h1>
<form
method=
"post"
>
<label
for=
"tekst"
>
Napisz coś:
</label><input
id=
"tekst"
name=
"tekst"
type=
"text"
><br>
<button>
OK
</button>
</form>
<section>
<h2>
Zapamiętane teksty:
</h2>
<ul>
<li
th:each=
"tekst : ${teksty}"
th:text=
"${tekst}"
>
przykładowy tekst
</li>
</ul>
</section>
</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