web-dev-qa-db-ja.com

thymeleafの条件に基づいて、divにスタイルを適用するにはどうすればよいですか?

<div>ブロックに設定する必要があるdisplay:noneまたはdisplay:block条件に基づきます。 htmlは次のようになります。

<div style="display:none;"> 
    //some html block content
</div>

私はthymeleafで次のコードを試しました、

<div th:style="${condition} == 'MATCH' ? display:block : display:none"> 
    //some html block content
</div>

しかし、上記の式は機能していません。 org.thymeleaf.exceptions.TemplateProcessingException: Could not parse as expression: エラーメッセージ。

できます th:classappendいくつかのクラスを設定してこれを機能させるが、elvis/3項演算子がthymeleafでサポートされるかどうかを知りたいth:style 鬼ごっこ。

9
Lucky

質問を投稿しながら解決しました、

th:style="${condition ? 'display:block' : 'display:none'}" >

必要な条件付きスタイルを生成します。条件がtrueの場合、表示はブロックに設定され、条件がfalseの場合は何も表示されません。

管理者の場合、

th:style="${role == 'ADMIN' ? 'display:block' : 'display:none'}" >

スタイルはdisplay:blockに設定されており、他のロールではブロックは表示されません。

20
Lucky