Java html选择输入的参数值

Java html选择输入的参数值,java,spring,hibernate,jpa,thymeleaf,Java,Spring,Hibernate,Jpa,Thymeleaf,控制器 @GetMapping("/kosik") public String kosik(Principal principal,Model model){ User user = userServices.findByEmail(principal.getName()); Cart cart = cartServices.findCartByUser(user); model.addAttribute("produkty",cartItemServices.findA

控制器

@GetMapping("/kosik")
public String kosik(Principal principal,Model model){
    User user = userServices.findByEmail(principal.getName());
    Cart cart = cartServices.findCartByUser(user);
    model.addAttribute("produkty",cartItemServices.findAllCartItems(cart));
    model.addAttribute("cart",cartServices.findCartByUser(user));
    model.addAttribute("user",user);
    return "cart";
}
Html

  • € 1. 2. 3. 4. 5.
  • 总价

一切都在更新,工作正常,但我无法获取当前cartItem数量以选择th:field,它仍然是1,我也尝试了th:selected,但没有工作。

要修复它,您需要删除th:field并用name和id属性替换它

<select id="quantity" name="quantity">
    <option value="1">1</option>
    ...
    <option value="5">5</option>
    <option value="6" selected="selected">6</option>
     ...
    <option value="10">10</option>
</select>

1.
...
5.
6.
...
10

在thymeleaf中,th:字段覆盖th:值。 基本上,我们不能使用th:field和th:value同时赋值和传递

要获取用户在后端选择的下拉列表值,需要使用th:id=“name”th:name=“name”更改th:field选项,并且th:value保持原样

注意:“name”在这里表示它将映射或反序列化的模型类属性

<select id="quantity" name="quantity">
    <option value="1">1</option>
    ...
    <option value="5">5</option>
    <option value="6" selected="selected">6</option>
     ...
    <option value="10">10</option>
</select>