Thymeleaf: <label> для объединения динамического текста со статическим текстом Spring MVC

Я пытаюсь добавить текст в динамический текст, как показано ниже:

<label th:text="Hello ${worldText}"></label>

Но пользовательский интерфейс выдает:

TemplateProcessingException: Could not parse as expression: "Hello ${worldText}

Кто-нибудь знает, как мне этого добиться?

3 ответа

Решение

Простым решением было бы вставить пролет к метке:

<label>Hello <span th:text="${worldText}"></span></label>

Но я бы предпочел объединить текст и переменные следующим образом:

<label th:text="'Hello' + ${worldText}"></label>

Еще одно простое решение:

<label th:text="${'Hello ' + worldText}"></label>

Некоторые другие способы,

      // 1. Using the <th:block> element
<label>Hello <th:block th:text="${worldText}"></th:block></label>

// 2. Using string concatenation
<label th:text="${'Hello ' + worldText}"></label>

// 3. Using the pipe (|) character
<label th:text="|Hello ${worldText}|"></label>

// 4. Using expression inlining
<label>Hello [[${worldText}]]</label>

// 5. You could prepare a variable in your controller
// In contoller,
model.addAttribute("helloWorld", "Hello " + worldText);
// In template,
<label th:text="${helloWorld}"></label>

Результат всегда будет,

      <label>Hello variable-value</label>
Другие вопросы по тегам