Вызовите и загрузите метод запроса Spring MVC-контроллера от Thymeleaf

78
11

Я использую Spring Boot 1.5.4 (Spring MVC) и Thymeleaf 3.0.6 (Layout Dialect 2.2.2)

Предположим, что я передаю модель из метода Spring MVC Controller с шаблоном Thymeleaf (шаблон A), который выводит HTML A.

Возможно ли из шаблона A вызвать/вызвать другой метод контроллера Spring MVC (который затем отобразит модель с другим тимелеафовым шаблоном), выводящий HTML B, и загрузит полученные результаты в HTML A?

Что-то вроде того, что делает тег действия struts2 с executeResult = true Param. https://www.tutorialspoint.com/struts_2/struts_action_tag.htm

Я просмотрел thymeleaf include и replace, но они, похоже, работают с загрузкой html-фрагмента, а не всего запроса Spring MVC

спросил(а) 2021-01-19T13:05:02+03:00 6 месяцев назад
1
Решение
100

Вы можете попытаться выполнить запрос AJAX к методу контроллера Spring MVC, который вернет шаблон B.

Затем, как только вы получите ответ, вы можете установить ответ как существующий элемент html в своей DOM, например:

$.get("your_end_point", function(data, status){  
document.getElementById("your_template_B_Container_DIV_ID").appendChild(data);
});

Это только предположение, также имейте в виду, что если вы создадите шаблон с body, head... это, вероятно, не сработает, попробуйте использовать шаблон без тегов body или head. Например, вы можете попробовать с шаблоном, созданным только с тегами div и посмотреть, можете ли вы его отобразить.

ответил(а) 2021-01-19T13:05:02+03:00 6 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема