Я не могу передать th: object в контроллер и сопоставить с pojo, используя @ModelAttribute - PullRequest
0 голосов
/ 15 сентября 2018

Я пытаюсь получить объект на моем контроллере, который сопоставлен с моим POJO

Мой POJO выглядит так

public interface InventoryDetailPOJO {
    String getItem_cd();
}

А это моя форма

<div class="row d-flex"> 
  <div class="p-3">
    <button class="btn btn-block btn-options btn-save">Save</button>
  </div>
</div>
<form action="#"
      th:action="@{/stock-list/inventory-detail}"
      method="post"
      th:object="${inventoryDetail}"
      class="pt-3 form-inventory-detail">
  <div class="form-group row">
      <label for="item_cd" class="col-2 col-form-label col-form-label-sm">
         <span class="pull-right">Item No</span>
      </label>
      <div class="col-10">
         <input type="text" class="form-control form-control-sm w-25"
         th:field="*{item_cd}">
      </div>
   </div>
</form>

А для моего контроллера

@RequestMapping(value = "/stock-list/inventory-detail", method = RequestMethod.POST)
public ModelAndView InventoryDetailSubmitPage(ModelAndView modelAndView,
    @ModelAttribute("inventoryDetail") InventoryDetailPOJO inventoryDetail,
        @RequestParam("item_cd") String item_cd) {

    System.err.println("InventoryDetail: " + inventoryDetail);
    System.err.println("item_cd: " + item_cd);

    modelAndView.setViewName("redirect:/stock-list");
    return modelAndView;
}

Нет элемента itemDetail, когда я пытался его зарегистрировать, но есть значение item_cd

1 Ответ

0 голосов
/ 16 сентября 2018

Удалить действие = "#", например:

<form th:action="@{/stock-list/inventory-detail}"
      method="post"
      th:object="${inventoryDetail}"
      class="pt-3 form-inventory-detail">
...