Thymeleaf员工编辑页面项目日期字段填充问题求助
Thymeleaf员工编辑页面日期数组绑定问题求助
我是Thymeleaf初学者,在员工编辑页面通过model.addAttribute("employee", employee)传递员工数据,目前姓名、contractedFrom、contractedTo字段以及项目复选框都能正常填充,但startDates数组无法绑定到对应的日期输入框。试过使用ProjectDto也没能解决问题,以下是相关数据结构、DTO示例及Thymeleaf表单代码,求正确填充项目日期字段的方法:
员工数据示例
Employee: Employee{id=2, name='John Smith', contractedFrom='2022-01-01', contractedTo='2022-12-31', employeeProjects=[EmployeeProject{id=1, project=Project{id=1, projectNumber=61741501, name='Project 1', startDate='2022-04-01', endDate='2022-09-30', projectLengthInMonths=3.0, currentBookedMonths=0.0, remainingBookedMonths=0.0, numberOfEmployees=0}, employeeBookedMonths=4.0, employeeProjectStartDate=2022-05-01, employeeProjectEndDate=2022-09-15, projectName='null'}, EmployeeProject{id=2, project=Project{id=2, projectNumber=61241514, name='Project 2', startDate='2022-01-01', endDate='2023-03-31', projectLengthInMonths=24.0, currentBookedMonths=0.0, remainingBookedMonths=0.0, numberOfEmployees=0}, employeeBookedMonths=4.5, employeeProjectStartDate=2022-10-01, employeeProjectEndDate=2022-12-31, projectName='null'}], projectIds=[4, 5, 7, 8], startDates=[2022-01-01, 2022-05-01, 2022-10-01, 2022-08-01], endDates=null}
ProjectDto示例
[ProjectDto(id=1, employeeProjectStartDate=2022-01-01, employeeProjectEndDate=2022-04-30), ProjectDto(id=2, employeeProjectStartDate=2022-05-01, employeeProjectEndDate=2022-09-15), ProjectDto(id=3, employeeProjectStartDate=2022-10-01, employeeProjectEndDate=2022-12-31), ProjectDto(id=4, employeeProjectStartDate=null, employeeProjectEndDate=null)]
Thymeleaf表单代码
<form action="#" th:action="@{/ines/updateEmployee/{id}(id=${employee.id})}" th:object="${employee}" method="POST"> <input type="hidden" th:field="*{id}" /> <input type="text" th:field="*{name}" placeholder="Employee Name" class="form-control mb-4 col-4"> <input type="date" th:field="*{contractedFrom}" placeholder="Contracted From" class="form-control mb-4 col-4"> <input type="date" th:field="*{contractedTo}" placeholder="Contracted To" class="form-control mb-4 col-4"> <div th:each="proj : ${projects}"> <div class="form-group blu-margin"> <input type="checkbox" th:field="*{projectIds}" th:name="projectId" th:text="${proj.name}" th:value="${proj.id}"> <input type="date" th:field="*{startDates}" class="form-control mb-4 col-4"> <!-- <input type="date" th:field="*{endDates}" class="form-control mb-4 col-4">--> </div> </div> <button type="submit" class="btn btn-info col-2">Save Employee</button> </form>
内容的提问来源于stack exchange,提问作者Kayd Anderson
相关产品推荐
相关产品推荐

