如何从对象列表中选择一个对象

时间:2019-11-14 16:36:55

标签: java spring thymeleaf

HTML

 <form th:object="${klient}" th:action="@{/osoba}" method="post">
                        <div class="form-row">
                            <div class="form-group col-md-4">
                                <label >Imię</label>
                                <input type="text" class="form-control"  th:field="*{imie}" >
                            </div>

                            <div class="form-group col-md-4">
                                <label >Nazwisko</label>
                                <input type="text" class="form-control" th:field="*{nazwisko}" >
                            </div>
                                <div class="select-list" id="selectlist">
                                    <select th:field="*{UserId}" >
                                        <option> -- </option>
                                        <option  th:each=" users : ${user}"
                                                 th:value="${users.UserId}"
                                                 th:utext="${users.lastName}"/>
                                    </select>
                                </div>

鳕鱼

    @RequestMapping (value = "/osoba", method = RequestMethod.POST)
public String dodaj (Klient klient){
    System.out.print(klient);
    return "redirect:/osoba";
}
@RequestMapping (value = "/dodaj" , method = RequestMethod.GET)
public String tworz (Model model){
    model.addAttribute("klient" , new Klient());

    List<User> lista = userService.getAllUser();
    model.addAttribute("user" , lista);

    return "dodaj";
}

我想创建一个表单,在该表单中他填写客户的字段并为他分配一个现有用户。问题是我无法获取所选的用户ID。

我收到有关第一次选择的消息

  

在执行处理器'org.thymeleaf.spring5.processor.SpringSelectFieldTagProcessor时出错

3 个答案:

答案 0 :(得分:0)

错误消息表明名为uzytkownik的属性存在问题,我在模板的任何位置都看不到。当然,您没有包括完整的模板,所以我只能说问题出在其他地方……显然来自第178行。

答案 1 :(得分:0)

在Klient中为userId创建getter和setter方法:

.build()

UserBuilder

答案 2 :(得分:0)

我找到了解决方法:

在选择我更改

<b-modal :id="'SecondaryModal' + d.Id" title="Secondary Firm Selected" hide-footer>

在控制器中

<select   id="UserId" name="UserId" >

可以,但是正确吗?