#java #spring #jpa #thymeleaf
Вопрос:
Я боролся в течение нескольких часов, и я думаю, что это просто, но мне чего-то не хватает
Я использую Thymeleaf в качестве механизма шаблонов, и во многих отношениях то, что хорошо работает для класса и значений, не работает в других файлах (другие классы, другие отношения, тот же метод).
Я всегда получаю : Свойство компонента «Клиент» не читается или имеет недопустимый метод получения: Соответствует ли возвращаемый тип метода получения типу параметра задатчика?
Большое спасибо за вашу помощь :
в классе имплантации у меня есть это :
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name="client_id")
private Client clients;
public Client getClients() {
return clients;
}
public void setClients(Client clients) {
this.clients = clients;
}
с другой стороны, клиент класса
@OneToMany(mappedBy = "clients")
private List<Implantation> implantations;
в шаблоне
<div class="input-group">
<select class="form-control " th:field="*{Client}" id="dropDownClientId" >
<option th:each="idclient : ${recupClientID}" th:value="${idclient.getId()}"
th:text="${recupClientID.getId()}"></option>
</select>
</div>
контроллер :
@RequestMapping("updateImplantation/{id}")
public String updateImplantation(@PathVariable(name = "id") int id, ModelMap modelMap) {
Authentication auth = SecurityContextHolder.getContext().getAuthentication();
String username = auth.getName();
Iterable<Implantation> listImplantations = implantationService.getAllImplantations();
Implantation implantationId = implantationService.get(id);
modelMap.addAttribute("implantation", listImplantations);
modelMap.addAttribute("implantationId", implantationId);
modelMap.addAttribute("recupEmail", username);
return "updateImplantation";
}
«доступ» к представлению осуществляется из другого, а редактирование/обновление происходит из :
Комментарии:
1. Можете ли вы добавить код вашего контроллера?
Ответ №1:
я решил свою проблему, это было не в моем отображении, а в моем контроллере и в том, как я использовал доступ
@RequestMapping("/editImplantation")
public ModelAndView editImplantationForm(@RequestParam int id) {
ModelAndView modelAndView = new ModelAndView("updateImplantation");
Implantation implantation = implantationService.get(id);
modelAndView.addObject("implantation", implantation);
return modelAndView;
}
<a th:href="@{/editImplantation(id=${imp.getId()})}">
в любом случае, спасибо вам, Вим, за ваше время
, а также всем остальным, даже тем, кто не дал ответа или комментария