From fa880db84ec4507010a4d29b7cb0308f82553834 Mon Sep 17 00:00:00 2001 From: Kamal Wickramanayake Date: Sat, 13 Jun 2026 17:27:05 +0530 Subject: Added sample project 07-thymeleaf-common-theme --- .../example/spring/contact/ContactController.java | 34 ++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 spring-boot/07-thymeleaf-common-theme/src/main/java/com/example/spring/contact/ContactController.java (limited to 'spring-boot/07-thymeleaf-common-theme/src/main/java/com/example/spring/contact/ContactController.java') diff --git a/spring-boot/07-thymeleaf-common-theme/src/main/java/com/example/spring/contact/ContactController.java b/spring-boot/07-thymeleaf-common-theme/src/main/java/com/example/spring/contact/ContactController.java new file mode 100644 index 0000000..20c482d --- /dev/null +++ b/spring-boot/07-thymeleaf-common-theme/src/main/java/com/example/spring/contact/ContactController.java @@ -0,0 +1,34 @@ +package com.example.spring.contact; + +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.PostMapping; + +import jakarta.validation.Valid; + +@Controller +public class ContactController { + + @GetMapping("/contact") + public String showForm(Model model) { + model.addAttribute("contactForm", new ContactForm()); + return "contact/form"; + } + + @PostMapping("/contact") + public String processSubmission(@Valid @ModelAttribute ContactForm contactForm, BindingResult bindingResult, + Model model) { + if (bindingResult.hasErrors()) { + return "contact/form"; + } + + // Do whatever needed with the submitted data here. + // For example, invoke a method in a service/componet bean to send an email to contact person. + + return "contact/result"; + } + +} -- cgit v1.2.3