Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <form class="form-horizontal" action="#" th:action="@{add}" th:object="${employeeForm}" method="post">
- <!--jako object do formy nie przesyłamy naszej klasy z domeny która ma pole Task task tylko tworzymy nową klasę EmployeeForm, której kod niżej dam-->
- <div class="form-group">
- <label for="task">Task:</label>
- <select th:field="*{taskId}" id="task">
- <option th:each="task : ${taskList}"
- th:value="${task.id}" <!-- Nie przesyłamy obiektu bo nam thymeleaf konwertuje go na string i wtedy dupa. Dlatego przesyłamy id -->
- th:text="${task.nameOfTask}">Empty</option>
- </select>
- </div>
- public class EmployeeCreateForm {
- private String firstname;
- private String lastname;
- private String email;
- private String phone;
- private Integer taskId; //pole do którego wrzucamy to id
- //gety i sety
- }
- //A tak wygląda controller
- @RequestMapping(value = "/add", method = RequestMethod.POST)
- public String addEmployee(@ModelAttribute("employeeForm") EmployeeCreateForm employeeForm, BindingResult result) {
- Employee employee = new Employee();
- employee.setFirstname(employeeForm.getFirstname());
- employee.setLastname(employeeForm.getLastname()); //z naszej pośredniej klasy robimi init
- employee.setEmail(employeeForm.getEmail());
- employee.setTelephone(employeeForm.getPhone());
- Integer taskId = employeeForm.getTaskId();
- Task task = taskService.getById(taskId); //pobieramy z bazy task..
- employee.setTask(task); //..i sobie wrzucamy
- task.setEmployee(employee); //warto pamiętać o tym żeby w obie strony
- employeeService.save(employee);
- return "redirect:/";
- }
- //Dziękuje za uwagę
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement