2013-12-22 3 views
25

Я новичок в тимелеафе и конвертирую веб-страницу ma из jsp в тимелеаф. У меня такой распорный тегНастройка значения для имени переменной в thymeleaf

<c:set var="someVariable" value="${someValue}"/> 

который может использовать переменную в любом месте jsp. Есть ли такие альтернативы для этого в тимелеафе?

ответ

59

Вы можете использовать local variables.

Объявите элемент HTML с атрибутом th:with. Например

<div th:with="someVariable=${someValue}"> 

В документации говорится

Когда th:with обрабатываются, что [someVariable] переменные создаются как локальная переменная и добавляются к переменным карте исходя из контекста, так, чтобы оно как доступный для оценки, как любые другие переменные , объявленные в контексте с самого начала, , но только в пределах содержащего тега.

23

Просто к сведению, если вы хотите назначить более одной переменной, разделив их запятой:

<div th:with="someVariable=${someValue},anotherVariable=${anotherValue}"> 

Смотрите третий пример: Local Variable section of Thymeleaf documentation

2
  1. декларировать с th:with="varName=${'str'}

  2. ref with in src th:src="@{${varName}}"

  3. более подробно:

<head th:with="component =${'/static/component'}, bizJs = ${'/static/js/biz'}" > 
 
       <span th:text="${component}"></span> 
 
       <script th:src="@{(${component})}"></script> 
 
       <script th:src="@{${bizJs} + '/static/js'}"></script> 
 
     </head>

Смежные вопросы