有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

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

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

Error during execution of processor 'org.thymeleaf.spring5.processor.SpringSelectFieldTagProcessor


共 (3) 个答案

  1. # 1 楼答案

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

    public String getUserId()

    public void setUserId(String userId)

  2. # 2 楼答案

    我找到了一个解决方案:

    在选择中我改变了

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

    内部控制器

        @RequestMapping (value = "/osoba", method = RequestMethod.POST)
    public String dodaj (@ModelAttribute("UserId") Set<User> user, Klient klient){
       klient.setUsers(user);
        System.out.print(klient);
    
       klientServicee.createOrUpdateKlient(klient);
        return "redirect:/osoba";
    }
    

    它是有效的,但它是正确的吗

  3. # 3 楼答案

    错误消息显示名为uzytkownik的属性存在问题,我在模板中的任何地方都看不到该属性。当然,您没有包含完整的模板,所以我只能说问题来自其他地方。。。显然是从178行开始的