@Alecxandrys

Как передать параметр в фрагмент?

День добрый,
Необходимо при встраивании фрагмента передать ему параметр. Используется шаблонизатор Thymeleaf, само приложение на Spring (если важно).
Код инициации фрагмента
<html th:fragment="navbar (template, menu, head)" xmlns:th="http://www.thymeleaf.org">

Вызов со страницы
<html xmlns:th="http://www.thymeleaf.org" th:replace="~{fragments/NavBar :: navbar (~{::body},${param.room},~{::head})}">>

Проблема возникает с параметром ${param.room}. Это штатный метод вытягивания значении из URL (?room=room_value) от шаблонизатора, дальше на странице он исправно работает, но в этом вызове как параметр не передается фрагменту. Если его заменить строкой:
<html xmlns:th="http://www.thymeleaf.org" th:replace="~{fragments/NavBar :: navbar (~{::body},'Параметр',~{::head})}">>

то успешно передается значение "Параметр".
Как правильно передать параметр?
  • Вопрос задан
  • 823 просмотра
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Spring
Седой и строгий
Можно попробовать задействовать препроцессинг:
~{fragments/NavBar :: navbar (~{::body}, __${param.room}__,~{::head})}

либо убрать этот параметр и просто использовать ${param.room} во включаемом фрагменте.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы