Thymeleafで変数定義済みを確認するにはどうすればよいですか?
Javascriptのこのようなもの:
if (typeof variable !== 'undefined') { }
またはこれはPHPで:
if (isset($var)) { }
Thymeleafに同等のものはありますか?
ショートフォーム:
<div th:if="${currentUser}">
<h3>Name:</h3><h3 th:text="${currentUser.id}"></h3>
<h3>Name:</h3><h3 th:text="${currentUser.username}"></h3>
</div>
コンテキストに特定の変数が含まれているかどうかを確認するには、コンテキスト変数マップに直接問い合わせることができます。これにより、変数が定義されているが値がnullである場合のみではなく、変数が指定されているかどうかを判断できます。
使用 - #vars
オブジェクトの containsKey
メソッド:
<div th:if="${#vars.containsKey('myVariable')}" th:text="Yes, $myVariable exists!"></div>
使用 - #ctx
オブジェクトの containsVariable
メソッド:
<div th:if="${#ctx.containsVariable('myVariable')}" th:text="Yes, $myVariable exists!"></div>
条件演算子を使用できます。存在する場合、または空の文字列の場合、変数を書き込みます。
<p th:text="${variable}?:''"></p>