setting up a value for a variable name in thymeleaf

  1. declare with th:with="varName=${'str'}

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

  3. in more detail:

<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>

You can use local variables.

Declare an HTML element with a th:with attribute. For example

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

The documentation states

When th:with is processed, that [someVariable] variable is created as a local variable and added to the variables map coming from the context, so that it is as available for evaluation as any other variables declared in the context from the beginning, but only within the bounds of the containing tag.


Just a note, if you wish to assign more than one variable, separate them with a comma :

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

See the third example : Local Variable section of Thymeleaf documentation