Ошибка при использовании выпадающего на тимелист и весной - PullRequest
0 голосов
/ 23 сентября 2018

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

Контроллер:

    @RequestMapping(value = "/form", method = RequestMethod.GET)
        public ModelAndView form(ModelMap map1, ModelMap map2) {
            String[] sizes = new String[] {"S", "M", "L", "XL"};
            List<String> size = Arrays.asList(sizes);
            map1.addAttribute("size", size);

            List<Brand> list = myService.listBrands();
            map2.addAttribute("brands", list);

            return new ModelAndView("formcreate", "product", new Product());
        }

    @RequestMapping(value = "/submit", method = RequestMethod.POST)
    public String saveProduct(@Valid @ModelAttribute("product") Product prod, 
            BindingResult result) throws InstantiationException {

        if(result.hasErrors()) {
            System.out.println("Validation error");
            return "formcreate";
        }else {
            System.out.println("OK");
System.out.println("id brand = " + prod.getBrand().getId());
            System.out.println("name brand = " + prod.getBrand().getName());
            productService.insertProduct(prod);

            return "prodsubmit";
        }
    }

formcreate.html:

<form th:action="@{/submit}" th:object="${product}" method="post">
          <form:errors path="*" cssClass="errorblock" element="div" />

        <table>

            <tr>
                <td><label>Name </label></td>
                <td><input type="text" th:field="*{name}"/></td>
            </tr>

            <tr>
                <div class="dropdown">
                <td><label for="brand.id">Brand</label></td>
                    <td><select class="form-control" id="brand" name="brand">
                        <option th:each="brand : ${brands}"
                                th:value="${brand.id}"
                                th:text="${brand.nombre}"></option>
                    </select></td>
                </div>
            </tr>

            <tr>
                <td><label>Preice</label></td>
                <td><input type="text" th:field="*{price}" /></td>
            </tr>

            <tr>
                <div class="dropdown">

                <td><label for="size">Size</label></td>
                    <td><select class="form-control" id="size" name="size">
                        <option th:each="size : ${size}"
                                th:value="${size}"
                                th:text="${size}"></option>
                    </select></td>
                </div>
            </tr>


            <tr>
                <td>
                    <input type="submit" value="Aceptar">

                </td>
            </tr>
        </table>
</form>

В prodsubmit.html у меня есть код для отображения данных о продукте.

Когда я пытаюсь создать новый продукт, я получаю следующее:

id brand = null
name brand = 100

Идентификатор бренда должен быть100, а название бренда должно быть Пример

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...