web-dev-qa-db-ja.com

Thymeleaf:変数が定義されているかどうかを確認します

Thymeleafで変数定義済みを確認するにはどうすればよいですか?

Javascriptのこのようなもの:

if (typeof variable !== 'undefined') { }

またはこれはPHPで:

if (isset($var)) { }

Thymeleafに同等のものはありますか?

26
Andrea

ショートフォーム:

<div th:if="${currentUser}">
    <h3>Name:</h3><h3 th:text="${currentUser.id}"></h3>
    <h3>Name:</h3><h3 th:text="${currentUser.username}"></h3>
</div>
10
Lay Leangsros

コンテキストに特定の変数が含まれているかどうかを確認するには、コンテキスト変数マップに直接問い合わせることができます。これにより、変数が定義されているが値がnullである場合のみではなく、変数が指定されているかどうかを判断できます。

タイムリーフ2

使用 - #vars オブジェクトの containsKey メソッド:

<div th:if="${#vars.containsKey('myVariable')}" th:text="Yes, $myVariable exists!"></div>

タイムリーフ3

使用 - #ctx オブジェクトの containsVariable メソッド:

<div th:if="${#ctx.containsVariable('myVariable')}" th:text="Yes, $myVariable exists!"></div>
6

条件演算子を使用できます。存在する場合、または空の文字列の場合、変数を書き込みます。

<p th:text="${variable}?:''"></p>
0