2017-06-18 13 views
0

私は、SpringアプリケーションのテンプレートエンジンとしてThymeleafを使用しています。フィールドにNULL値がある場合、そのラベルを非表示にしたいと思います。これは私のアプローチであり、私はそれをうまく動かすことができませんでした。Thymeleafを使用してヌル値のフィールドのラベルを非表示にする方法

<div th:if="${booking.privatecomments}"> 
    <b th:text="#{booking.private.comments}"></b> 
    <p th:utext="${booking.privatecomments}"></p> 
</div> 

ラベルは2行目です。

私はこの異なるアプローチを試みたが、成功せず、次のいずれか

<div th:utext="${booking.privatecomments != null}? 
    #{booking.private.comments} + ': ' + ${booking.privatecomments}"></div> 

すべてのヘルプははるかに、事前に感謝をいただければ幸いです。

答えて

1

戻り値の型がprivatecomments(文字列ですか、そうではありませんか?)か、単純にnullではない(空白など)かのいずれかです。

しかし、フラグメントth:ifまたはその対応物th:unlessを非表示にしたい場合は、移動する方法です。ここにはth:ifの仕組みがあります。一度それを取得したら、あなたの問題を解決するのは簡単です。渡された値がnullではない場合

それは次のような場合にtrueに評価される値が数値であり、非であれば値がブール値をあると

  • trueの場合

    • -zero
    • 値が文字で0以外の場合
    • 値が文字列で、 "false"、 "off"または "no"でない場合
    • 値がブール値、数値、文字または文字列でない場合。

    値がnullの場合、th:ifは常にfalseに評価されます。

    hereの完全なドキュメントがあります。プライベートコメントがある場合に答える予約オブジェクトにブール値のプロパティを指定することをお勧めします。

  • +0

    ありがとうございました。私はフィールドが空ではなく、空であることを知らなかった。私はそれが同じであったことを当然としていました。 –

    関連する問題