Передача данных в HTML из Java через Spring

Есть ли способ передать значение String из моего класса контроллера Spring в мой HTML? В различных примерах "привет, мир" они говорят использовать

ModelAndView model = new ModelAndView("htmlPageName");
model.addAttribute("variableName", "someValue");

в контроллере и

${variableName}

в HTML. Но когда я загружаю страницу, она показывает буквально ${variableName} вместо "someValue"

Я что-то пропустил?

Вам нужен рендерер, такой как JSP или тимелеаф

Mạnh Quyết Nguyễn 23.05.2018 11:49

Я не уверен, что это значит, но думаю, что пробовал использовать тимелист. Я добавил "xmlns: th = " thymeleaf.org "" в тег html и попытался создать метку с "th: text = " ... "" для тестирования, но он сделал то же самое. Нужна ли мне также зависимость от maven? Я не могу найти (полезных) руководств или примеров

Andrew Torr 23.05.2018 11:53

опубликуйте свою текущую структуру проекта / проекта.

Mạnh Quyết Nguyễn 23.05.2018 11:55

$ {variableName} использовать как это

Tanu Garg 23.05.2018 12:07

Поместите, пожалуйста, свой html-код.

Rafał Sokalski 24.05.2018 11:18
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
5
5
8 451
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Если вы используете тимелеф

<h1 th:text = "${variableName}"></h1>

Вы написали: {$ variableName} вместо $ {variableName}

что, если эта переменная содержит тег «<br/>»? Что-то вроде "hello <br/> world", но это не работает. привет мир отображается в одной строке вместо разных строк

Kishan Solanki 15.05.2019 13:43

Здесь вы можете найти тимелеаф документация, который показывает, как показать атрибут модели в html.

В Thymeleaf к этим атрибутам модели (или контекстным переменным на жаргоне Thymeleaf) можно получить доступ с помощью следующего синтаксиса: ${attributeName}, где attributeName в нашем случае - это сообщения.

    @RequestMapping(value = "message", method = RequestMethod.GET)
    public ModelAndView messages() {
        ModelAndView mav = new ModelAndView("message/list");
        mav.addObject("messages", messageRepository.findAll());
        return mav;
}

Это то, что я делаю. Причина, по которой я пришел в StackOverflow, заключается в том, что эта документация была бесполезной. Они не очень хорошо это объясняют. Я не знаю, что мне не хватает, похоже, это должно работать

Andrew Torr 23.05.2018 14:40

Вы так изменили свою переменную $ {attributeName}?

Hatice 23.05.2018 14:45

Да. Я пробовал это само по себе, я пробовал с кавычками и без них, и я пробовал это как текст метки как th: text

Andrew Torr 23.05.2018 14:47

Тогда я думаю, что проблема не в этом. Возможно, ваш тимелист не работает.

Hatice 23.05.2018 14:51

Не могли бы вы также добавить свой файл конфигурации?

Hatice 23.05.2018 15:12
Ответ принят как подходящий

Я понял. Мне не хватало зависимости:

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-thymeleaf</artifactId>
    </dependency>

Другие вопросы по теме