Mục lục

Toán tử Elvis trong Thymeleaf

Xem thêm các chuyên mục:

Nhóm thành viên của o7planning đã xây dựng một website tuyệt vời và miễn phí giúp mọi người học tiếng Anh, học từ vựng dễ dàng hơn. Hãy truy cập để học tiếng Anh ngay bây giờ:

1- Toán tử Elvis

Hầu hết các ngôn ngữ lập trình máy tính đều hỗ trợ toán tử Elvis, dưới đây là cú pháp tiêu chuẩn của toán tử Elvis trong Thymeleaf:
<p th:utext="${myVariable} ? ${myValue1} : ${myValue2}"></p>
  • Nếu myVariable được đánh giá là true, mã ở trên tương đương với <p th:utext="${myValue1}"></p>.
  • Nếu myVariable được đánh giá là false, mã ở trên tương đương với <p th:utext="${myValue2}"></p>.
Chú ý: Trong Thymeleaf một biến (Hoặc một điều kiện) được đánh giá là false (sai) nếu giá trị của nó là null, false, 0, "false", "off", "no". Ngược lại, nó được đánh giá là true (đúng).
Ví dụ:

<h2 th:utext="${user} ?  ${user.userName} : 'You are not logged in' }"></h2>
 
Nếu bắt gặp một đoạn mã giống dưới đây, bạn có thể viết nó ngắn gọn hơn:
<p th:utext="${myVariable} ? ${myVariable} : ${myValue2}"></p>

<!-- Write shorter: -->

<p th:utext="${myVariable} ?: ${myValue2}"></p>
Ví dụ:
<!-- Example -->
<div th:utext="${errorMessage} ?:  'No error!' "></div>



<!-- Example -->
<div th:object="${user}">
  ...
  <p>Age: <span th:text="*{age}?: '(no age specified)'">27</span>.</p>

</div>
Toán tử Elvis lồng nhau:
<span th:utext="${myVariable1} ? ${myValue1} : (${myVariable2} ? ${myValue21} : ${myValue22}) }"></span>

<!--
Other example ....
-->

Xem thêm các chuyên mục: