春季启动ThymeLeaf和Kotlin – checkbox值没有被传递给控制器?
我正在尝试使用Spring Thymeleaf和Kotlin来提供HTML页面。 我希望它能够传递我按下“提交”时选择的HTML页面上的所有值,然后将所有提交内容存储到订单列表中。
class Order(val nameForTheOrder: String, val items: Map, val totalCost: BigDecimal)
控制器:
@Controller class OrderController { @Autowired 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 "redirect:/order/" + createOrderForm.nameForTheOrder } @RequestMapping(value="/order") fun createOrderPage(model: Model) : String { model.addAttribute("orderForm", CreateOrderForm()) return "new-order-form" } }
index.html的:
orderHistory.html:
Current Orders
Name for the Order Items
order.html:
Order Details
Name for the Order: Items: Total Cost:
Hmmm... Looks like that order doesn't exist.
当我启动服务器并加载网页localhost:8086 / order,并提交请求时,我得到:Sun Dec 10 20:10:16 CST 2017有一个意外的错误(type = Bad Request,status = 400)。 object =’createOrderForm’的validation失败。 错误计数:1
如何通过HTML页面上的checkbox映射值,并确保这些值被放置在我的Order对象中?