Change page dynamically using th:if and th:replcae in thymeleaf
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.
java spring-boot thymeleaf
add a comment |
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.
java spring-boot thymeleaf
2
You can write something like<th:block th:if="${UserInfo}"> <span th:replace="fragments/EditUser::editUsersBar"></span></th:block>
. Similarly another block for the other span.
– Sujit
Jan 18 at 13:29
Thanks, @Sujit, this worked for me :)
– Shashwat Tyagi
23 hours ago
Glad I could help, I have added this as an answer, would be great if you can approve it. Thanks
– Sujit
17 hours ago
add a comment |
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.
java spring-boot thymeleaf
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.
java spring-boot thymeleaf
java spring-boot thymeleaf
edited Jan 18 at 12:44
Erwin Bolwidt
23.8k123858
23.8k123858
asked Jan 18 at 12:41
Shashwat TyagiShashwat Tyagi
358
358
2
You can write something like<th:block th:if="${UserInfo}"> <span th:replace="fragments/EditUser::editUsersBar"></span></th:block>
. Similarly another block for the other span.
– Sujit
Jan 18 at 13:29
Thanks, @Sujit, this worked for me :)
– Shashwat Tyagi
23 hours ago
Glad I could help, I have added this as an answer, would be great if you can approve it. Thanks
– Sujit
17 hours ago
add a comment |
2
You can write something like<th:block th:if="${UserInfo}"> <span th:replace="fragments/EditUser::editUsersBar"></span></th:block>
. Similarly another block for the other span.
– Sujit
Jan 18 at 13:29
Thanks, @Sujit, this worked for me :)
– Shashwat Tyagi
23 hours ago
Glad I could help, I have added this as an answer, would be great if you can approve it. Thanks
– Sujit
17 hours ago
2
2
You can write something like
<th:block th:if="${UserInfo}"> <span th:replace="fragments/EditUser::editUsersBar"></span></th:block>
. Similarly another block for the other span.– Sujit
Jan 18 at 13:29
You can write something like
<th:block th:if="${UserInfo}"> <span th:replace="fragments/EditUser::editUsersBar"></span></th:block>
. Similarly another block for the other span.– Sujit
Jan 18 at 13:29
Thanks, @Sujit, this worked for me :)
– Shashwat Tyagi
23 hours ago
Thanks, @Sujit, this worked for me :)
– Shashwat Tyagi
23 hours ago
Glad I could help, I have added this as an answer, would be great if you can approve it. Thanks
– Sujit
17 hours ago
Glad I could help, I have added this as an answer, would be great if you can approve it. Thanks
– Sujit
17 hours ago
add a comment |
1 Answer
1
active
oldest
votes
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>
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54254270%2fchange-page-dynamically-using-thif-and-threplcae-in-thymeleaf%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
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>
add a comment |
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>
add a comment |
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>
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>
answered 17 hours ago
SujitSujit
859
859
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f54254270%2fchange-page-dynamically-using-thif-and-threplcae-in-thymeleaf%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
2
You can write something like
<th:block th:if="${UserInfo}"> <span th:replace="fragments/EditUser::editUsersBar"></span></th:block>
. Similarly another block for the other span.– Sujit
Jan 18 at 13:29
Thanks, @Sujit, this worked for me :)
– Shashwat Tyagi
23 hours ago
Glad I could help, I have added this as an answer, would be great if you can approve it. Thanks
– Sujit
17 hours ago