Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
alx_java2b_20250412
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
alx_java2b_20250412
Commits
7bb22b1a
Commit
7bb22b1a
authored
May 31, 2025
by
Patryk Czarnik
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
wyszukiwarka - początek prac
parent
676177aa
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
50 additions
and
3 deletions
+50
-3
ProductController.java
...ing/src/main/java/sklep/controller/ProductController.java
+13
-3
spis_tresci.jsp
...pSpring/src/main/webapp/WEB-INF/templates/spis_tresci.jsp
+1
-0
wyszukiwarka.jsp
...Spring/src/main/webapp/WEB-INF/templates/wyszukiwarka.jsp
+36
-0
No files found.
PC37-SklepSpring/src/main/java/sklep/controller/ProductController.java
View file @
7bb22b1a
package
sklep
.
controller
;
package
sklep
.
controller
;
import
java.math.BigDecimal
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Optional
;
import
java.util.Optional
;
...
@@ -8,24 +9,33 @@ import org.springframework.stereotype.Controller;
...
@@ -8,24 +9,33 @@ import org.springframework.stereotype.Controller;
import
org.springframework.ui.Model
;
import
org.springframework.ui.Model
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PathVariable
;
import
org.springframework.web.bind.annotation.PathVariable
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.ResponseBody
;
import
org.springframework.web.bind.annotation.ResponseBody
;
import
sklep.model.Product
;
import
sklep.model.Product
;
import
sklep.repository.ProductRepository
;
import
sklep.repository.ProductRepository
;
@Controller
@Controller
@RequestMapping
(
"/products"
)
public
class
ProductController
{
public
class
ProductController
{
@Autowired
@Autowired
private
ProductRepository
productRepository
;
private
ProductRepository
productRepository
;
@GetMapping
(
p
ath
=
"/products"
,
p
roduces
=
"text/html"
)
@GetMapping
(
produces
=
"text/html"
)
public
String
getProducts
(
Model
model
)
{
public
String
getProducts
(
Model
model
)
{
List
<
Product
>
products
=
productRepository
.
findAll
();
List
<
Product
>
products
=
productRepository
.
findAll
();
model
.
addAttribute
(
"products"
,
products
);
model
.
addAttribute
(
"products"
,
products
);
return
"products"
;
return
"products"
;
}
}
@GetMapping
(
path
=
"/products/{id}"
,
produces
=
"text/html"
)
@GetMapping
(
"/szukaj"
)
public
String
findProducts
(
Model
model
,
String
name
,
BigDecimal
min
,
BigDecimal
max
)
{
List
<
Product
>
products
=
List
.
of
();
// productRepository.findAll();
model
.
addAttribute
(
"products"
,
products
);
return
"wyszukiwarka"
;
}
@GetMapping
(
path
=
"/{id}"
,
produces
=
"text/html"
)
public
String
getOneProduct
(
Model
model
,
@PathVariable
(
"id"
)
Integer
id
)
{
public
String
getOneProduct
(
Model
model
,
@PathVariable
(
"id"
)
Integer
id
)
{
Optional
<
Product
>
optProduct
=
productRepository
.
findById
(
id
);
Optional
<
Product
>
optProduct
=
productRepository
.
findById
(
id
);
if
(
optProduct
.
isPresent
())
{
if
(
optProduct
.
isPresent
())
{
...
@@ -36,7 +46,7 @@ public class ProductController {
...
@@ -36,7 +46,7 @@ public class ProductController {
}
}
}
}
@GetMapping
(
p
ath
=
"/products"
,
p
roduces
=
"text/plain"
)
@GetMapping
(
produces
=
"text/plain"
)
@ResponseBody
@ResponseBody
public
String
getProductsTxt
()
{
public
String
getProductsTxt
()
{
StringBuilder
sb
=
new
StringBuilder
(
"Lista produktów:\n"
);
StringBuilder
sb
=
new
StringBuilder
(
"Lista produktów:\n"
);
...
...
PC37-SklepSpring/src/main/webapp/WEB-INF/templates/spis_tresci.jsp
View file @
7bb22b1a
...
@@ -4,6 +4,7 @@
...
@@ -4,6 +4,7 @@
<head>
<head>
<meta
charset=
"UTF-8"
>
<meta
charset=
"UTF-8"
>
<title>
Sklep Spring
</title>
<title>
Sklep Spring
</title>
<link
rel=
"stylesheet"
type=
"text/css"
href=
"/styl.css"
/>
</head>
</head>
<body>
<body>
<h1>
Sklep Spring – spis treści
</h1>
<h1>
Sklep Spring – spis treści
</h1>
...
...
PC37-SklepSpring/src/main/webapp/WEB-INF/templates/wyszukiwarka.jsp
0 → 100644
View file @
7bb22b1a
<
%@
page
language=
"java"
contentType=
"text/html; charset=UTF-8"
pageEncoding=
"UTF-8"
%
>
<
%@
taglib
prefix=
"c"
uri=
"jakarta.tags.core"
%
>
<!DOCTYPE html>
<html>
<head>
<meta
charset=
"UTF-8"
>
<title>
Katalog towarów
</title>
<link
rel=
"stylesheet"
type=
"text/css"
href=
"/styl.css"
/>
</head>
<body>
<div><a
href=
"/"
>
Powrót do spisu treści
</a></div>
<h1>
Wyszukiwarka produktów
</h1>
<form
method=
"get"
class=
"wyszukiwarka"
>
<table>
<tr><td><label
for=
"name"
>
Podaj nazwę:
</label></td>
<td><input
type=
"text"
id=
"name"
name=
"name"
value=
"${param.name}"
></td></tr>
<tr><td><label
for=
"min"
>
Cena minimalna:
</label></td>
<td><input
type=
"number"
id=
"min"
name=
"min"
value=
"${param.min}"
></td></tr>
<tr><td><label
for=
"max"
>
Cena maksymalna:
</label></td>
<td><input
type=
"number"
id=
"max"
name=
"max"
value=
"${param.max}"
></td></tr>
<tr><td><button>
Szukaj
</button></td></tr>
</table>
</form>
<c:forEach
var=
"product"
items=
"${products}"
>
<div
class=
"product"
>
<img
class=
"photo"
src=
"/products/${product.id}/photo"
alt=
""
/>
<p>
Towar
<a
href=
"/products/${product.id}"
class=
"product-name"
>
${product.productName}
</a></p>
<p>
Cena:
<span
class=
"product-price"
>
${product.price}
</span></p>
<p
class=
"product-description"
>
${product.description}
</p>
</div>
</c:forEach>
</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