/
spirzen
/
it-code-examples
Обзор
Документация
Войти
/
spirzen
/
it-code-examples
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
examples/java/java-503-254-007/main.java
88 строк
3 KB
Spirzen
Code migration pack
09 июн 2026, 01:41
09 июн 2026, 01:41
cebc284
Код
Авторство
О чём код?
package com.example.crm.controller; import com.example.crm.model.Customer; import com.example.crm.service.CustomerService; import jakarta.validation.Valid; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.validation.BindingResult; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.servlet.mvc.support.RedirectAttributes; @Controller public class CustomerWebController { private final CustomerService customerService; public CustomerWebController(CustomerService customerService) { this.customerService = customerService; } @GetMapping("/") public String home() { return "redirect:/customers"; } @GetMapping("/customers") public String list(Model model) { model.addAttribute("customers", customerService.findAll()); return "customers/list"; } @GetMapping("/customers/new") public String createForm(Model model) { model.addAttribute("customer", new Customer()); model.addAttribute("formTitle", "Новый клиент"); model.addAttribute("formAction", "/customers"); return "customers/form"; } @PostMapping("/customers") public String create(@Valid @ModelAttribute("customer") Customer customer, BindingResult bindingResult, Model model, RedirectAttributes redirectAttributes) { if (bindingResult.hasErrors()) { model.addAttribute("formTitle", "Новый клиент"); model.addAttribute("formAction", "/customers"); return "customers/form"; } customerService.create(customer); redirectAttributes.addFlashAttribute("message", "Клиент добавлен"); return "redirect:/customers"; } @GetMapping("/customers/{id}/edit") public String editForm(@PathVariable Long id, Model model) { model.addAttribute("customer", customerService.findById(id)); model.addAttribute("formTitle", "Редактирование клиента"); model.addAttribute("formAction", "/customers/" + id); return "customers/form"; } @PostMapping("/customers/{id}") public String update(@PathVariable Long id, @Valid @ModelAttribute("customer") Customer customer, BindingResult bindingResult, Model model, RedirectAttributes redirectAttributes) { if (bindingResult.hasErrors()) { model.addAttribute("formTitle", "Редактирование клиента"); model.addAttribute("formAction", "/customers/" + id); return "customers/form"; } customerService.update(id, customer); redirectAttributes.addFlashAttribute("message", "Клиент обновлён"); return "redirect:/customers"; } @PostMapping("/customers/{id}/delete") public String delete(@PathVariable Long id, RedirectAttributes redirectAttributes) { customerService.delete(id); redirectAttributes.addFlashAttribute("message", "Клиент удалён"); return "redirect:/customers"; } }