Reputation: 305
Here are my controllers:
@RequestMapping(value="/user/edit/{id}", method = RequestMethod.GET)
public String editForm(@PathVariable Integer id,Model model) {
model.addAttribute("UserInfo", userService.getUserById(id));
return "EditUser";
}
@RequestMapping(value="/moduleList", method = RequestMethod.GET)
public String moduleList(Model model) {
model.addAttribute("moduleCommand", new Module());
model.addAttribute("moduleList", applicationService.getAllModules());
return "modulelist";
}
rightSection.html
<div th:fragment="rightSectionBar">
<div class="container body">
<div class="title_section" style="margin-top: 50px;">
<div class="col-md-2 heading">
<h4>Home</h4>
</div>
</div>
<div class="col-md-9 right_col">
<div class="clearfix"></div>
<!-- page content -->
<span th:replace="fragments/contents::dashboard"></span>
//I want to see below content on calling "/user/edit/{id}" url
<span th:replace="fragments/EditUser::editUsersBar"></span>
//I want to see below content on calling "/moduleList" url
<span th:replace="fragments/modulelist::modulesListBar"></span>
</div>
</div>
</div>
I am trying to keep sidemenu and top navigation same on every page and just want to change right section content only.
Upvotes: 0
Views: 1362
Reputation: 415
You can use th:block
and th:if
for this purpose. Thymeleaf will execute the attributes within th:block
will make the it disappear as th:block
is a mere attribute container.
<div class="col-md-9 right_col">
<div class="clearfix"></div>
<span th:replace="fragments/contents::dashboard"></span>
<th:block th:if="${UserInfo}">
<span th:replace="fragments/EditUser::editUsersBar"></span>
</th:block>
<th:block th:if="${moduleCommand}">
<span th:replace="fragments/modulelist::modulesListBar"></span>
</th:block>
</div>
Upvotes: 2