カテゴリ: Thymeleaf 更新日: 2026/02/06

Thymeleaf th:ifとは?使い方と条件分岐のコツを解説

Thymeleafのth:ifの使い方
Thymeleafのth:ifの使い方

先生と生徒の会話形式で理解しよう

生徒

「Thymeleafで条件によって表示内容を変える方法ってありますか?」

先生

「Thymeleafではth:if属性を使うことで、条件によって要素を表示・非表示にできます。」

生徒

「具体的にどう使うんですか?」

先生

「それでは、基本的な使い方を見てみましょう!」

1. Thymeleafのth:ifとは?基本概念と使い方

1. Thymeleafのth:ifとは?基本概念と使い方
1. Thymeleafのth:ifとは?基本概念と使い方

Thymeleafのth:if属性は、指定された条件が真の場合に要素を表示します。条件が偽の場合、その要素はレンダリングされません。例えば、ユーザーがログインしている場合のみメッセージを表示するようなケースで役立ちます。

2. th:ifの基本的な使い方【サンプルコード付き】

2. th:ifの基本的な使い方【サンプルコード付き】
2. th:ifの基本的な使い方【サンプルコード付き】

th:if属性の基本的な構文を見てみましょう。以下は、変数isUserLoggedIntrueの場合にメッセージを表示する例です。


<div th:if="${isUserLoggedIn}">
    <p>ようこそ、ユーザーさん!</p>
</div>

このコードでは、${isUserLoggedIn}trueの場合、<p>ようこそ、ユーザーさん!</p>が表示されます。falseの場合は、この<div>要素自体がレンダリングされません。

3. th:ifとth:unlessの違いと組み合わせ方

3. th:ifとth:unlessの違いと組み合わせ方
3. th:ifとth:unlessの違いと組み合わせ方

複数の条件を使用する場合、th:ifth:unlessと組み合わせることができます。th:unlessは、条件が偽の場合に要素を表示します。


<div th:if="${isAdmin}">
    <p>管理者向けの情報です。</p>
</div>
<div th:unless="${isAdmin}">
    <p>一般ユーザー向けの情報です。</p>
</div>

この例では、isAdmintrueの場合は管理者向けの情報が表示され、falseの場合は一般ユーザー向けの情報が表示されます。

4. th:ifを活用した実践例【ショッピングサイトのカート】

4. th:ifを活用した実践例【ショッピングサイトのカート】
4. th:ifを活用した実践例【ショッピングサイトのカート】

例えば、ショッピングサイトでカートの中身が空の場合にメッセージを表示し、それ以外ではカートの内容を表示するコードを考えてみましょう。


<div th:if="${cart.isEmpty()}">
    <p>カートに商品はありません。</p>
</div>
<div th:unless="${cart.isEmpty()}">
    <p>カート内の商品: <span th:text="${cart.size()}"></span>件</p>
</div>

このようにth:ifth:unlessを活用することで、ユーザーの状況に応じてページの内容を切り替えることができます。

5. まとめ|th:ifのポイントをおさらい

5. まとめ|th:ifのポイントをおさらい
5. まとめ|th:ifのポイントをおさらい

本記事では、Thymeleafのth:if属性の基本的な使い方と、条件によって要素を表示・非表示にする方法について学びました。th:ifは、条件が真の場合に要素を表示し、偽の場合には要素をレンダリングしません。また、th:unlessを使うことで、条件が偽の場合に要素を表示することもでき、より柔軟なページ構成が可能になります。

実用的な例として、ユーザーのログイン状態や管理者向けの情報の表示、ショッピングカートの中身に応じたメッセージの表示を見てきました。これにより、Webアプリケーションの開発において、ユーザーに適した情報を動的に表示する方法を理解できたでしょう。

以下に、th:ifを利用したサンプルコードを再掲します。


<div th:if="${isUserLoggedIn}">
    <p>ようこそ、ユーザーさん!</p>
</div>

<div th:if="${cart.isEmpty()}">
    <p>カートに商品はありません。</p>
</div>
<div th:unless="${cart.isEmpty()}">
    <p>カート内の商品: <span th:text="${cart.size()}"></span>件</p>
</div>

このように、Thymeleafの条件分岐を用いることで、画面の表示を簡単に制御できます。th:ifth:unlessを活用することで、ユーザーの体験をよりパーソナライズされたものにすることが可能です。今後のWeb開発でぜひ活用してみてください。

先生と生徒の振り返り会話

生徒

th:ifを使うと、ページの表示を条件付きで切り替えられるんですね!とても便利です。」

先生

「その通りです。特に、動的なWebアプリケーションで役立ちますね。これで、ユーザーの状態に応じた適切な表示が可能になります。」

生徒

th:unlessを使えば、条件が偽の場合の処理も簡単に実装できますね。」

先生

「はい。これで、条件分岐の理解が深まりましたね。実際のプロジェクトでも活かしてみてください。」

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

Thymeleaf(タイムリーフ)の「th:if」とはどのような機能ですか?初心者向けに教えてください。

Thymeleaf(タイムリーフ)の「th:if」とは、JavaのSpring Boot(スプリングブート)などでよく使われるテンプレートエンジンの機能で、HTML要素の表示・非表示を制御するための条件分岐属性です。特定の条件が成立(真:true)したときだけ、そのHTMLタグと中身をブラウザ上に表示させることができます。条件が成立しない(偽:false)場合は、HTMLコード自体が生成されず、ソースコード上からも消えるのが特徴です。

Spring FrameworkやThymeleafを使った Webアプリ開発の全体像をやさしく理解したい人には、 この入門書が定番です。

Spring Framework超入門をAmazonで見る

※ Amazon広告リンク

カテゴリの一覧へ
新着記事
New1
Thymeleaf
Thymeleafのth:hrefの使い方を全解説。初心者でも完璧に理解できるガイド
更新記事
New2
Spring
Springの@annotationアノテーションの使い方を完全ガイド!初心者でもわかるAOPの活用法
更新記事
New3
Spring
Javaの@withinアノテーションを初心者向けに解説!Spring AOPでの使い方を完全ガイド
更新記事
New4
Spring
Springの@AfterThrowingアノテーションの使い方を完全ガイド!初心者でもわかる例外処理
更新記事
人気記事
No.1
Java&Spring記事人気No1
Spring
Spring BootとJavaの互換性一覧!3.5/3.4/3.3はJava 21・17に対応してる?
No.2
Java&Spring記事人気No2
Spring
Springの@Componentアノテーションの使い方を徹底解説!初心者でもわかるSpring Boot入門
No.3
Java&Spring記事人気No3
Java
JavaのIOExceptionクラス徹底解説!初心者向けファイル入出力エラー対策ガイド
No.4
Java&Spring記事人気No4
Servlet
JavaのHttpSessionを徹底解説!初心者でもわかるセッション管理の基本
No.5
Java&Spring記事人気No5
Spring
Springの@Serviceアノテーションの使い方を徹底解説!初心者でもわかるSpring フレームワーク入門
No.6
Java&Spring記事人気No6
Java
Javaの@SuppressWarningsアノテーションの使い方を完全ガイド!初心者でもわかる警告の抑制方法
No.7
Java&Spring記事人気No7
Spring
SpringのModelクラスの使い方を完全ガイド!初心者でも安心
No.8
Java&Spring記事人気No8
Spring
Spring Data JPA入門!findAll()やfindBy**()の使い方などデータベース操作の基礎を学ぶ

💻 作業効率アップに

長時間のコーディングでも疲れにくい♪ 静音ワイヤレスマウス

Logicool Signature M750 を見る

※ Amazon広告リンク