/
AlexStone
/
Java25sep
Обзор
Документация
Войти
/
AlexStone
/
Java25sep
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
SpringDvdRental/src/main/java/org/example/StartPage.java
172 строки
7 KB
AlexStone
HomeWork
24 апр 2026, 08:10
24 апр 2026, 08:10
a550197
Код
Авторство
О чём код?
package org.example; import jakarta.servlet.http.HttpSession; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.view.RedirectView; import java.util.HashMap; import java.util.List; import java.util.stream.Collectors; @RestController public class StartPage { public static HashMap<String,Integer> AmountAboutSession = new HashMap<>(); @Autowired CustomerRepository customerRepository; @GetMapping("/") public String index(){ String page = "<!DOCTYPE html>\n" + "<html>\n" + "<head>\n" + "<link rel ='stylesheet' href='styles.css'/>"+ "<meta charset=\"utf-8\"/>\n" + "</head>\n" + "<body>\n" + "<h1>Главная страница</h1>"+ "<li><a href='/Composer_listStart'>Список посетителей</a></li>"+ "</body>" + "</html>"; return page; } @GetMapping("/Composer_listStart") public String Composer_listStart(HttpSession session){ Integer value = (Integer) session.getAttribute("Number"); Integer Number=AmountAboutSession.get(session.getId()); List<Customer> listAllCustomers = customerRepository.getAllCustomer(); int quantity = listAllCustomers.size(); if (Number == null){ Number=0; } int pageOfcustomers = ((Number+10)/10); int allPageOfCustomers = 0; if (quantity % 10 == 0){ quantity=quantity-1; } allPageOfCustomers=(quantity+10-1)/10; List<Customer> first10 = customerRepository.get10Customer(Number); String page = "<!DOCTYPE html>\n" + "<html>\n" + "<head>\n" + "<meta charset=\"utf-8\"/>\n" + "</head>\n" + "<body>\n" + "<font color='DarkRed' size='5' <h1>Список посетителей</h1></font>"+ "<font color='Blue'><p><b>Страница "+pageOfcustomers+" из "+allPageOfCustomers+"</b></p></font>"; page+= first10.stream() .map(a -> "<li> "+a.first_name+" "+a.last_name+"</li>") .collect(Collectors.joining("<br>")); if (quantity-Number<10){ } else { page += "<br>"+ "<form style='display:inline' method='POST' action='/next_page'>" + "<input type='submit' value='Следующая страница'/>" + "</form>"; } if (Number==0){ } else { page += "<form style='display:inline' method='POST' action='/previous_page'>" + "<input type='submit' value='Предыдущая страница'/>" + "</form>"; } if (Number==0){ } else { page += "<form style='display:inline' method='POST' action='/zeroing_page'>" + "<input type='submit' value='В начало списка'/>" + "</form>"; } page += "<form method='POST' action='/selected_page'"+ "<label for='Pages'>Укажите страницу (1-60)</label>"+ "<input type='number' id='Pages' name='SelectPage' min='1' max=60 </input>>"+ "<input type='submit'>"+ "</form>"; page += "<form method='get' action='/search_customer'>"+ "<p>Поиск</p>"+ "<input type='search' name='query'>"+ "<input type='submit'>"+ "</form>"; page+= "<br>"+ "<br><a href='/'> Вернуться на главную страницу </a>\n" + "</body>" + "</html>"; return page; } @GetMapping ("/search_customer") public String seaarch_customer (@RequestParam("query")String query){ List<Customer> AllCustomer =customerRepository.getAllCustomer(); List<Customer> Result = AllCustomer.stream() .filter(x ->x.last_name.regionMatches(true,0,query,0,3) || x.first_name.regionMatches(true,0,query,0,3)) .collect(Collectors.toList()); String page = "<!DOCTYPE html>\n" + "<html>\n" + "<head>\n" + "<link rel ='stylesheet' href='styles.css'/>"+ "<meta charset=\"utf-8\"/>\n" + "</head>\n" + "<body>\n" + "<h1>Найденные посетители</h1>"; if (Result.isEmpty()){ page+= "<p>Посетители не найдены</p>"; } page+= Result.stream() .map(a -> "<li> "+a.first_name+" "+a.last_name+"</li>") .collect(Collectors.joining("<br>")); page+= "<br>"+ "<br><a href='/Composer_listStart'> Вернуться к списку посетителей </a>\n" + "</body>" + "</html>"; return page; } @PostMapping ("/next_page") public RedirectView next_page (HttpSession session){ Integer Number=AmountAboutSession.get(session.getId()); if (Number==null){ Number=0; } AmountAboutSession.put(session.getId(),(Number+10)); return new RedirectView("/Composer_listStart"); } @PostMapping ("/previous_page") public RedirectView previous_page (HttpSession session){ Integer Number=AmountAboutSession.get(session.getId()); if (Number==null){ Number=0; } AmountAboutSession.put(session.getId(),(Number-10)); return new RedirectView("/Composer_listStart"); } @PostMapping ("/zeroing_page") public RedirectView zeroing_page (HttpSession session){ Integer Number=AmountAboutSession.get(session.getId()); AmountAboutSession.put(session.getId(),0); return new RedirectView("/Composer_listStart"); } @PostMapping ("/selected_page") public RedirectView selected_page (@RequestParam("SelectPage")Integer SelectPage,HttpSession session){ AmountAboutSession.put(session.getId(),(SelectPage*10-10)); return new RedirectView("/Composer_listStart"); } }