X-Git-Url: https://juplo.de/gitweb/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fde%2Fjuplo%2Fdemo%2FDemoController.java;h=c74a6e99238f2c180d0b60fa70905abc6eb996cf;hb=bc4a7fe4decdbbb69186ef203593346816de7e2f;hp=483ca88454ff770a596efddcd0ba2edfb1a1964c;hpb=ca1ddb54ae8bf1908726a1e8ace2dbfb87266bee;p=demos%2Fspring-boot diff --git a/src/main/java/de/juplo/demo/DemoController.java b/src/main/java/de/juplo/demo/DemoController.java index 483ca88..c74a6e9 100644 --- a/src/main/java/de/juplo/demo/DemoController.java +++ b/src/main/java/de/juplo/demo/DemoController.java @@ -1,14 +1,17 @@ package de.juplo.demo; +import java.util.stream.Collectors; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.thymeleaf.util.StringUtils; /** - * Controller to demonstrate the behavior of the checkbox + * Controller to demonstrate the behavior of checkboxes * @author Kai Moritz */ @Controller @@ -18,7 +21,30 @@ public class DemoController @RequestMapping("/") public String display(@ModelAttribute Form form) { - log.info("option={}", form.option); + log.info( + "option={}, inner={}{}", + form.option, + form.inner.option, + form.map + .entrySet() + .stream() + .map(entry -> entry.getKey() + "=" + entry.getValue()) + .collect(Collectors.joining(", ", ", ", ""))); return "form"; } + + @RequestMapping(path = "/", params = "add") + public String add(@ModelAttribute Form form, @RequestParam String name) + { + if (!StringUtils.isEmptyOrWhitespace(name)) + { + form.map.put(name.trim(), Boolean.FALSE); + log.info("Added option \"{}\" to the map", name.trim()); + } + else + { + log.info("Ignoring empty option-name"); + } + return display(form); + } }