X-Git-Url: https://juplo.de/gitweb/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fde%2Fjuplo%2Fdemo%2FDemoController.java;h=c74a6e99238f2c180d0b60fa70905abc6eb996cf;hb=bc4a7fe4decdbbb69186ef203593346816de7e2f;hp=3f8d0ddb2b062a423ba003c7d9cc60991d443181;hpb=c714fe0e5f5ac2ef7933948f51dbb5ee4d3023cb;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 3f8d0dd..c74a6e9 100644 --- a/src/main/java/de/juplo/demo/DemoController.java +++ b/src/main/java/de/juplo/demo/DemoController.java @@ -1,10 +1,13 @@ 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; /** @@ -18,7 +21,30 @@ public class DemoController @RequestMapping("/") public String display(@ModelAttribute Form form) { - log.info("option={}, inner={}", form.option, form.inner.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); + } }