[解決済み] Thymeleafでif-elseを行うには?
2022-05-11 16:02:42
質問
シンプルな
if
-
else
をThymeleafで?
と同じ効果をThymeleafで実現したいのですが。
<c:choose>
<c:when test="${potentially_complex_expression}">
<h2>Hello!</h2>
</c:when>
<c:otherwise>
<span class="xxx">Something else</span>
</c:otherwise>
</c:choose>
をJSTLで使用します。
ここまででわかったこと
<div th:with="condition=${potentially_complex_expression}" th:remove="tag">
<h2 th:if="${condition}">Hello!</h2>
<span th:unless="${condition}" class="xxx">Something else</span>
</div>
を評価したくありません。
potentially_complex_expression
を2回実行します。そのため、ローカル変数
condition
. それでも、私は
th:if="${condition}
と
th:unless="${condition}"
.
重要なのは、2つの異なるHTMLタグを使用していることです。
h2
と
span
.
より良い実現方法を提案していただけませんか?
どのように解決するのですか?
Thymeleaf には、次のようなものがあります。
<c:choose>
と
<c:when>
を使用します。
th:switch
と
th:case
属性は、Thymeleaf 2.0 で導入されました。
これらは期待通りに動作します。
*
はデフォルトの場合です。
<div th:switch="${user.role}">
<p th:case="'admin'">User is an administrator</p>
<p th:case="#{roles.manager}">User is a manager</p>
<p th:case="*">User is some other thing</p>
</div>
参照 これ は、構文についての簡単な説明(またはThymeleafチュートリアル)。
免責事項 : StackOverflowの規則により、私はThymeleafの作者です。
関連
-
エラーが報告されました。リソースの読み込みに失敗しました:サーバーは500(内部サーバーエラー)のステータスで応答しました。
-
HttpClientがGZIP形式でない場合の対処法
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] Java Mapの各エントリを効率的に反復処理するには?
-
[解決済み] Javaでメモリーリークを発生させるにはどうしたらいいですか?
-
[解決済み] JavaでStringをintに変換するにはどうしたらいいですか?
-
[解決済み] プライベートメソッド、フィールド、インナークラスを持つクラスをテストするにはどうすればよいですか?
-
[解決済み] Java で、あるコンストラクタを別のコンストラクタから呼び出すにはどうすればよいですか?
-
[解決済み] NGIf else "の使い方を教えてください。
-
[解決済み】JSP 2を使用して、JSPファイル内のJavaコードを回避するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
エラー java.util.NoSuchElementException
-
JQuery DataTable 详解
-
サーブレットクラスのインスタンス化エラーの解決法
-
javaでクラスを作成すると、enclosing classでないように見える
-
Javaエラーメッセージがenclosingクラスでない
-
java.lang.NoClassDefFoundError: org.apache.jasper.el.ELContextImpl クラスを初期化できませんでした。
-
SocketTimeoutExceptionです。読み込みがタイムアウトしました
-
java -serverコマンドで「Error: no `server' JVM at ... jvm.dll」を解決する方法です。
-
ローカルリソースのロードが許可されていない場合の解決策
-
コミットには何も追加されないが、未追跡のファイルが存在し、gitで未追跡のファイルに対する完璧な解決策