如何插入值​到thymeleaf表单中的hashmap中?

gupuwyp2  于 2021-06-30  发布在  Java
关注(0)|答案(0)|浏览(294)

嗨,我想说:
此方法将不同的值从模型发送到窗体。另外,发送hashmap<color,size>

@GetMapping("/create")
public String create(Model model){

    model.addAttribute("subcategories", subcategoryRepository.findAll());
    model.addAttribute("colors", colorRepository.findAll());
    model.addAttribute("color", new Color());
    model.addAttribute("size", new Size());
    model.addAttribute("map", new HashMap<Color, Size>());
    model.addAttribute("sizes", sizeRepository.findAll());
    model.addAttribute("product", new Product());
    return "/admin/product/create";
}

这是我表单的一部分,第一个select是hashmap的键,第二个是value。

<br>
<!--            <div th:each="entry : ${map}">-->
    <label for="colors">Colors</label>
    <select class="form-control" th:name="${'this would be the key of the hashmap'}" id="colors">
        <option
            th:each="Dcolor: ${colors}"
            th:value="${Dcolor.id}"
            th:text="${Dcolor.name}">
         </option>
     </select>
     <br>
     <label for="sizes">Sizes</label>
     <select class="form-control" th:name="${'this would be the value of the hashmap'}"  id="sizes">
         <option
             th:each="Dsize: ${sizes}"
             th:value="${Dsize.id}"
             th:text="${Dsize.name}"></option>
     </select>

存储方法在这个方法中我会保存模型,但暂时不会。

@PostMapping("/store")
public String store(@ModelAttribute Product product,
                    @RequestParam Map<Color,Size> map,
                    @ModelAttribute Size size,
                    MultipartFile file){

    System.out.println("Product :: "+product);
    System.out.println("Map<Color,Size> :: "+map.keySet());
    return "redirect:/admin/products";
}

在表单数据发送的最后,到目前为止我还没有插入任何内容,因为首先我要证明它为我带来了hashmap的结构。
我已经搜索过了,但还没有找到这样做的方法,大多数论坛都会对hashmap执行foreach并插入值,但在我的情况下,它不会起作用,因为我的hashmap中没有值。
注意:稍后我将更改结构,使hashmap为“<color,list>”,因为在我的项目中,颜色可以有多种大小

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题