Spring Boot ThymeLeaf y Kotlin: ¿el valor de la casilla no se pasa al controller?

Estoy intentando publicar una página HTML usando Spring Thymeleaf y Kotlin. Me gustaría pasar todos los valores en la página HTML que selecciono cuando presiono "Enviar", y luego almacenar todos los envíos en la list de Pedidos.

class Order(val nameForTheOrder: String, val items: Map<String, BigDecimal>, val totalCost: BigDecimal) 

Controlador:

 @Controller class OrderController { @Autowinetworking lateinit var orderService: OrderService @RequestMapping("/orderHistory") fun listOfOrders(model: Model) : String { model.addAttribute("orderHistory", orderService.getOrders()) return "orderHistory" } @RequestMapping("/order/{nameForTheOrder}") fun findOrder(@PathVariable("nameForTheOrder") orderId: String, model: Model) : String { model.addAttribute("order", orderService.findOrderbyId(orderId)) return "order" } @RequestMapping(value="/order", method = arrayOf(RequestMethod.POST)) fun addNewOrder(createOrderForm: CreateOrderForm, model: Model) : String { orderService.createOrder(Order( nameForTheOrder = createOrderForm.nameForTheOrder!!, items = createOrderForm.items!!, totalCost = createOrderForm.totalCost!!)) return "networkingirect:/order/" + createOrderForm.nameForTheOrder } @RequestMapping(value="/order") fun createOrderPage(model: Model) : String { model.addAttribute("orderForm", CreateOrderForm()) return "new-order-form" } } 

index.html:

 <!DOCTYPE html> <html xmlns:th="http://www.thymeleaf.org"> <head lang="en"> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/> </head> <body> <div> <form th:object="${orderForm}" th:action="@{/order}" method="post"> Name:<input type="text" th:field="*{nameForTheOrder}"/><br/> Items:<input type="text" th:field="*{items}"/><br/> Total Cost:<input type="text" th:field="*{totalCost}"/><br/> <button type="submit">Submit</button> </form> </div> </body> </html> 

orderHistory.html:

 <!DOCTYPE html> <html xmlns:th="http://www.thymeleaf.org"> <head lang="en"> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/> </head> <body> <div th:if="${not #lists.isEmpty(orderHistory)}"> <h2>Current Orders</h2> <table> <tr> <th>Name for the Order</th> <th>Items</th> </tr> <tr th:each="orderHistory : ${orderHistory}"> <td th:text="${orderHistory.nameForTheOrder}"></td> <td th:text="${o.items.get(key)}"></td> <td th:text="${orderHistory.totalCost}"></td> </tr> </table> </div> </body> </html> 

order.html:

 <!DOCTYPE html> <html xmlns:th="http://www.thymeleaf.org"> <head lang="en"> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/> </head> <body> <div th:if="${order != null}"> <h2>Order Details</h2> <table> <tr> <td>Name for the Order: </td> <td th:text="${order.nameForTheOrder}"></td> </tr> <tr> <td>Items: </td> <td th:text="${order.items}"></td> </tr> <tr> <td>Total Cost: </td> <td th:text="${order.totalCost}"></td> </tr> </table> </div> <div th:if="${order == null}"> <h2>Hmmm... Looks like that order doesn't exist.</h2> </div> </body> </html> 

Cuando inicio el server y cargo la página web localhost: 8086 / order, y envío una request, obtengo: Dom Dic 10 20:10:16 CST 2017 Hubo un error inesperado (type = Bad Request, status = 400). La validation falló para object = 'createOrderForm'. Cuenta de error: 1

¿Cómo puedo asignar valores a través de una checkbox en la página HTML y asegurar que esos valores se coloquen en mi object Order?