thymeleaf 显示特定的用户配置文件
thymeleaf show specific user profile
我是 thymeleaf 和 spring 引导的新手,所以我真的不知道我在寻找什么来解决我的问题。
我的网站列表中显示了多个用户。当我单击其中一个用户时,我想显示用户个人资料页面。
列表如下所示:
<ul>
<li th:each="section : ${sections}">
<a href="overviewDivision.html?id=1" th:href="@{/overviewDivision?id=1}">
<span th:text="${section.name}">Bereich3</span>
</a>
<ul>
<li th:each="person : ${personSectionService.getPersonsBySectionId(section.id)}">
<a href="overviewEmployee.html?id= + person.id" th:href="@{/overviewEmployee?id= + person.id}">
<span th:text="${person.firstName + ' ' + person.lastName}">
</span>
</a>
</li>
</ul>
</li>
</ul>
这是我的控制器:
@RequestMapping(value = "/overviewEmployee", method = RequestMethod.GET)
public String overviewEmployee(Model model) {
model.addAttribute("sections", sectionService.getAllSections());
model.addAttribute("personSectionService", personSectionService);
model.addAttribute("currentPerson", personService.getById(1));
return "overviewEmployee";
}
在个人资料页面上,我使用 currentPerson.firstName 等来获取有关用户的信息。
所以我的问题是,如何将 currentPerson 更改为列表中最后单击的人?还是我完全错了?
为此您需要 2 个处理程序:一个用于显示您的列表,一个用于获取详细信息。前者不应该在模型中设置currentPerson
,因为你还没有这个信息。
您的处理程序应如下所示:
@RequestMapping(value = "/employees", method = RequestMethod.GET)
public String overviewEmployee(Model model) {
model.addAttribute("sections", sectionService.getAllSections());
model.addAttribute("personSectionService", personSectionService);
return "employee-list";
}
@RequestMapping(value = "/overviewEmployee", method = RequestMethod.GET)
public String overviewEmployee(Model model, @RequestParameter long id) {
model.addAttribute("currentPerson", personService.getById(id));
return "overviewEmployee";
}
(注意@RequestParameter
的使用)
我假设您的 id
是 long
,并且它是强制性的。
我是 thymeleaf 和 spring 引导的新手,所以我真的不知道我在寻找什么来解决我的问题。 我的网站列表中显示了多个用户。当我单击其中一个用户时,我想显示用户个人资料页面。
列表如下所示:
<ul>
<li th:each="section : ${sections}">
<a href="overviewDivision.html?id=1" th:href="@{/overviewDivision?id=1}">
<span th:text="${section.name}">Bereich3</span>
</a>
<ul>
<li th:each="person : ${personSectionService.getPersonsBySectionId(section.id)}">
<a href="overviewEmployee.html?id= + person.id" th:href="@{/overviewEmployee?id= + person.id}">
<span th:text="${person.firstName + ' ' + person.lastName}">
</span>
</a>
</li>
</ul>
</li>
</ul>
这是我的控制器:
@RequestMapping(value = "/overviewEmployee", method = RequestMethod.GET)
public String overviewEmployee(Model model) {
model.addAttribute("sections", sectionService.getAllSections());
model.addAttribute("personSectionService", personSectionService);
model.addAttribute("currentPerson", personService.getById(1));
return "overviewEmployee";
}
在个人资料页面上,我使用 currentPerson.firstName 等来获取有关用户的信息。 所以我的问题是,如何将 currentPerson 更改为列表中最后单击的人?还是我完全错了?
为此您需要 2 个处理程序:一个用于显示您的列表,一个用于获取详细信息。前者不应该在模型中设置currentPerson
,因为你还没有这个信息。
您的处理程序应如下所示:
@RequestMapping(value = "/employees", method = RequestMethod.GET)
public String overviewEmployee(Model model) {
model.addAttribute("sections", sectionService.getAllSections());
model.addAttribute("personSectionService", personSectionService);
return "employee-list";
}
@RequestMapping(value = "/overviewEmployee", method = RequestMethod.GET)
public String overviewEmployee(Model model, @RequestParameter long id) {
model.addAttribute("currentPerson", personService.getById(id));
return "overviewEmployee";
}
(注意@RequestParameter
的使用)
我假设您的 id
是 long
,并且它是强制性的。