0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Tymeleafの変数周りTIPS

Last updated at Posted at 2021-02-21

概要

Sprirng Boot + tymeleafで渡された変数値を表示するサンプル。

前提

表示するテンプレートにパラメータを渡しているコントローラ

sampleController.java
import org.springframework.ui.Model;

@GetMapping("/sample")
public String sample(Model model){
    model.addAttribute("intVar1", 1);
    model.addAttribute("strVar1", "Test");
    model.addAttribute("strVar2", "Test2");

    return "sample";
}

数値として変数展開

値が数値の場合は計算結果を表示する

sample.html
<p th:text="${intVar1}">
<p th:text="${intVar1} + ${intVar1}">

実行結果
1

2

文字として変数展開

文字列は連結して表示も可

sample.html
<p th:text="${strVar1}">
<p th:text="${strVar1} + ${strVar1}">
実行結果
Test

TestTest

変数名を動的に生成

変数を文字列として表示したり、変数の値を表示したり

sample.html
<!-- 文字列:strVarと, 数値:1を連結した文字列:strVar1をtmpVar変数に設定 -->
<div th:with="tmpVar='strVar' + 1">

    <!-- tmpVarの設定値を単なる文字列として表示-->
    <p th:text="${tmpVar}"></p>

    <!-- tmpVarの設定値を、変数とみなしてその値を表示 -->
    <p th:text="${__${tmpVar}__}"></p>    
</div>
実行結果
strVar1

Test

変数名を動的に生成(ループを使う場合)

変数名に連番サフィックス(strVar1, strVar2, …, strVarn)を使っている場合にループで処理したい場合など。

sample.html
<div th:each="i : ${#numbers.sequecnce(1,2)}" th:with="tmpVar='strVar' + ${i}">
    <p th:text="${__${tmpVar}__}"></p>    
</div>
実行結果
Test

Test2
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?