Как передать значение флажка контроллеру - PullRequest
0 голосов
/ 06 мая 2020

Я хочу заказать (купить) те товары, которые выбраны в корзине. Я использую для этого флажок, но не понимаю, как передать его в заказ сейчас href.

Я хочу заказать все элементы только одним щелчком мыши.

проверьте этот URL: /id=${items.id}">Закажите сейчас!

cart. jsp

      <form action="">
        <c:forEach items="${listCart}" var="items">
                <tr>
                    <td><input type="checkbox" name="chkbox" id="${items.id}"/></td>
                    <td style="text-align: center">${items.id}</td>
                    <td style="text-align: center">${items.name}</td>

            </c:forEach>
        <div class="row">
            <div class="col-md-5">
        <a class="btn btn-light btn-xl" href="<c:url value="/order"/>/id=${items.id}">Order Now!</a>
            </div>
            </div>
       </div>
     </form>    

контроллер. jsp

    @ResponseBody
@RequestMapping(value="/order/{id}", method=RequestMethod.GET)
public String createOrder(@PathVariable int id) {
    customerOrderModel customerOrder = new customerOrderModel();
    Cart cart = cartdao.getCartByID(id);
    customerOrder.setCart(cart);

    CustomerModel customer = cart.getCustomer();
    customerOrder.setCustomerID(customer);
    customerOrder.setBillingAddress(customer.getBillingAddress());
    customerOrder.setShippingAddress(customer.getShippingAddress());

    orderDao.addCustomerOrder(customerOrder);

    return "redirect:/view/cart/addItem";

   }

1 Ответ

0 голосов
/ 06 мая 2020

Используете ли вы для отправки форму Spring MVC или вызов Ajax?

1) Option1: отправить на сервер с помощью формы Spring MVC. В этом случае следуйте https://mkyong.com/spring-mvc/spring-mvc-form-handling-example/. В вашей форме необходимо указать, куда он будет направлен в go и как его поля будут сопоставлены с вашим классом Data Bean (с path). Вы будете использовать теги Spring MVC Form, например

<form:form method="post" modelAttribute="userForm" action="/order">
    ...
    <form:input path="name" type="text" /> <!-- same for checkboxes or other controls -->
    ...
</form:form>

2) Option2: используйте Ajax для отправки: используйте JS на стороне клиента, чтобы получить выбор, который вам нужно:

var selections = [];

// Find all selected checkboxes and store their values in an array
$('input[type="checkbox"]:checked').each(function(index) {
    selections.push($(this).val());
});

// Now call Ajax and pass this array of selections to whatever receives it in SpringMVC...

$.ajax({
        type : "post",
        dataType : "json",
        url : '/order',   
        data : JSON.stringify({'selections' : selections})
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...