首页 > 解决方案 > 百里香叶值到 html 选择输入

问题描述

控制器

@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

<ul class="list-group mb-3">
                <li th:each="produkt: ${produkty}" class="list-group-item d-flex justify-content-between lh-condensed">
                    <div>
                        <h6 th:text="${produkt.product.name}" class="my-0"></h6>
                    </div>
                    <span th:text="${produkt.price}" class="d-inline-block"></span><span class="d-inline-block"> €&lt;/span>

                    <form th:action="@{/updateCartItem(name=${produkt.product.name})}" th:object="${cartItem}" method="post">
                        <select th:field="*{quantity}">
                            <option th:value="1">1</option>
                            <option th:value="2">2</option>
                            <option th:value="3">3</option>
                            <option th:value="4">4</option>
                            <option th:value="5">5</option>
                        </select>
                        <input type="submit" value="Update" class="btn-sm btn-primary" />
                    </form>
               </li>
            <li th:each="kosik: ${cart}" class="list-group-item d-flex justify-content-between">
                <span>Total Price</span>
                <strong th:text="${kosik.totalPrice}"></strong>
            </li>
        </ul>

一切都在更新,工作正常,但我无法获得当前的 cartItem 数量来选择 th:field,它仍然是 1,我也尝试过 th:selected,但没有用..

标签: javaspringhibernatejpathymeleaf

解决方案


要修复它,您需要删除 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>

推荐阅读