Почему я получаю это исключение: «Нет ни BindingResult, ни простого целевого объекта для bean-компонента с именем 'orderModel'»; - PullRequest
0 голосов
/ 07 мая 2020

Я использую form: checkbox после этого моя форма выдает «Ни BindingResult, ни простой целевой объект для bean-компонента 'orderModel' доступен». Я изменил его на @ModelAttribute, так как я нахожу результат после поиска, но не работал.

что не так в моем классе контроллера или jsp код страницы, проверьте мой код.

output

Тележка. jsp

   <form:form action="/order"  method="POST" modelAttribute="orderModel">
    <table class="table table-striped table-hover table-bordered">
            <c:forEach items="${listCart}" var="items" varStatus="status">
                <tr>
                    <td><form:checkbox path="listCart[${status.index}].action" /></td>
                    <td style="text-align: center">${items.id}</td>
                    <td style="text-align: center">${items.name}</td>
                    <td style="text-align: center"><fmt:formatNumber type="currency">${items.price} 
         </fmt:formatNumber></td>
                    <td>
                </tr>
            </c:forEach>
        </table>
        <div class="col-md-5">
        <a class="btn btn-light btn-xl" href=" ">Order Now!</a>
            </div>
    </form:form>    

Класс контроллера

@RequestMapping(value="/order", method=RequestMethod.POST)
public String createOrder(Model model) {

model.addAttribute("orderModel",new customerOrderModel());

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

   }

метод класса контроллера вернуть корзину. jsp

   @RequestMapping(value = "/order", method = RequestMethod.Post)
   public ModelAndView createOrder() {
    ModelAndView model = new ModelAndView();
   model.addObject("orderModel",new customerOrderModel());
   model.setViewName("Cart");
   return model;
}

customerOrderModel.class

 @Entity
  public class customerOrderModel {

@Id
@GeneratedValue
private String  OrderID;

@OneToOne
@JoinColumn(name="ID")
private CustomerModel customerID;

@OneToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "billingAddressId")
private BillingAddress billingAddress;

@OneToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "shippingAddressId")
private ShippingAddress shippingAddress;

@OneToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "Cartid")
private Cart cart;

public String getOrderID() {
    return OrderID;
}

public void setOrderID(String orderID) {
    OrderID = orderID;
}

public CustomerModel getCustomerID() {
    return customerID;
}

public void setCustomerID(CustomerModel customerID) {
    this.customerID = customerID;
}

public BillingAddress getBillingAddress() {
    return billingAddress;
}

public void setBillingAddress(BillingAddress billingAddress) {
    this.billingAddress = billingAddress;
}

public ShippingAddress getShippingAddress() {
    return shippingAddress;
}

public void setShippingAddress(ShippingAddress shippingAddress) {
    this.shippingAddress = shippingAddress;
}

public Cart getCart() {
    return cart;
}

public void setCart(Cart cart) {
    this.cart = cart;
}
}

это окончательный код класса контроллера

@RequestMapping("/order")
public ModelAndView createOrder() {
    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 new ModelAndView("Cart","orderModel",new customerOrderModel());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...