From 6bdf17d0f35c977367fea56ac2be7fcbbd671246 Mon Sep 17 00:00:00 2001 From: Sanders Date: Wed, 27 Dec 2023 15:23:12 +0300 Subject: [PATCH] 2 --- .idea/git_toolbox_prj.xml | 15 +++++++++ pom.xml | 6 ++++ .../example/controllers/PeopleController.java | 32 +++++++++++++++++++ src/main/java/org/example/dao/PersonDAO.java | 25 +++++++++++++++ src/main/java/org/example/models/Person.java | 13 ++++++++ .../webapp/WEB-INF/views/people/index.html | 21 ++++++++++++ .../webapp/WEB-INF/views/people/show.html | 12 +++++++ 7 files changed, 124 insertions(+) create mode 100644 .idea/git_toolbox_prj.xml create mode 100644 src/main/java/org/example/controllers/PeopleController.java create mode 100644 src/main/java/org/example/dao/PersonDAO.java create mode 100644 src/main/java/org/example/models/Person.java create mode 100644 src/main/webapp/WEB-INF/views/people/index.html create mode 100644 src/main/webapp/WEB-INF/views/people/show.html diff --git a/.idea/git_toolbox_prj.xml b/.idea/git_toolbox_prj.xml new file mode 100644 index 0000000..02b915b --- /dev/null +++ b/.idea/git_toolbox_prj.xml @@ -0,0 +1,15 @@ + + + + + + + \ No newline at end of file diff --git a/pom.xml b/pom.xml index 0d233d4..8c34ca3 100644 --- a/pom.xml +++ b/pom.xml @@ -57,6 +57,12 @@ 4.0.1 provided + + org.projectlombok + lombok + 1.18.30 + compile + diff --git a/src/main/java/org/example/controllers/PeopleController.java b/src/main/java/org/example/controllers/PeopleController.java new file mode 100644 index 0000000..fed4152 --- /dev/null +++ b/src/main/java/org/example/controllers/PeopleController.java @@ -0,0 +1,32 @@ +package org.example.controllers; + +import org.example.dao.PersonDAO; +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.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; + +@Controller +@RequestMapping("/people") +public class PeopleController { + + private final PersonDAO personDAO; + + @Autowired + public PeopleController(PersonDAO personDAO) { + this.personDAO = personDAO; + } + + @GetMapping + public String index(Model model) { + model.addAttribute("people",personDAO.index()); + return "people/index"; + } + @GetMapping("/{id}") + public String show(@PathVariable("id") int id, Model model) { + model.addAttribute("person",personDAO.show(id)); + return "people/show"; + } +} diff --git a/src/main/java/org/example/dao/PersonDAO.java b/src/main/java/org/example/dao/PersonDAO.java new file mode 100644 index 0000000..f6d4b1e --- /dev/null +++ b/src/main/java/org/example/dao/PersonDAO.java @@ -0,0 +1,25 @@ +package org.example.dao; + +import org.example.models.Person; +import org.springframework.stereotype.Component; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +@Component +public class PersonDAO { + private final List people = new ArrayList(); + { + people.add(new Person("MAO",1)); + people.add(new Person("Sanders", people.size()+1)); + } + + public List index() { + return people; + } + + public Person show(int id) { + return people.stream().filter(person -> person.getId() == id).findAny().orElse(null); + } +} diff --git a/src/main/java/org/example/models/Person.java b/src/main/java/org/example/models/Person.java new file mode 100644 index 0000000..fe27c44 --- /dev/null +++ b/src/main/java/org/example/models/Person.java @@ -0,0 +1,13 @@ +package org.example.models; + +import lombok.AllArgsConstructor; +import lombok.Getter; +import lombok.Setter; + +@Getter@Setter +@AllArgsConstructor +public class Person +{ + private String name; + private int id; +} diff --git a/src/main/webapp/WEB-INF/views/people/index.html b/src/main/webapp/WEB-INF/views/people/index.html new file mode 100644 index 0000000..85c3891 --- /dev/null +++ b/src/main/webapp/WEB-INF/views/people/index.html @@ -0,0 +1,21 @@ + + + + + + people + + + + +

Hello world!

+ + +
+ user +
+ + + + + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/views/people/show.html b/src/main/webapp/WEB-INF/views/people/show.html new file mode 100644 index 0000000..fc58a90 --- /dev/null +++ b/src/main/webapp/WEB-INF/views/people/show.html @@ -0,0 +1,12 @@ + + + + + + Person + + +

+

+ + \ No newline at end of file