Thymeleaf Literals

Merhaba arkadaslar,

Bu yazımda Thymeleaf içerisinde ki literal’lere bakacağız. Öncelikle literal nedir, yenilir mi? içilir birşey mi ona bakalım.

Literal, en kaba tabiriyle birşeyi ifade etme, temsil etme anlamı taşır, gösterim şekli yani. Yazılım anlamında da bu geçerlidir. Herhangi bir programlama dilinde bir değişken tanımının yapılmasından, kullanılmasına kadar birçok yerde literal mevcuttur. Belki kullanıyoruz ama farkında değiliz.

Örneğin;

Yukarıda integer ve string için iki literal mevcut. Öncelik “int”, “String” gibi literalde kullanılan değişkenin tipi, sonrasında değişkenin adı, assignment operatoru ile birlikte değer yer alıyor.

Literal burada tam olarak 1 degerinde oldugu gibi yada cat degerindeki “” ifadelerdir. Yani siz String tanımlamak isterseniz “” arasına karekterleri dizmelisiniz anlamındadır. Bir diğer örnek olarak mesela iki int degeri toplamak istediniz, bunun için 1 + 1 yani arada plus operatorunu kullanmanız lazım.

Literal kabaca bu anlamdadır. Asıl konumuz ise Thymeleaf içerisinde bu literalleri nasıl kullanacagımız yönünde olacaktır. Yazı içerisinde birçok literal tipini bulabilirsiniz.

Önceki yazılarda kullandıgımız projeyi tekrar kullanacagız, tabi eklemeler yaparak.

Önce ui sayfamızı besleyecek olan servlet tanımını yapalım;

Önceki örneklerde açıklamıştık, bir web context olusturup variable set ediyoruz. Order’ımızı literals.html sayfamızda kullanacağız. UI sayfasına bakalım;

Örnekleri açıklamadan evvel bir ss ile son halini paylasalım, order’ı ekranda gösterdik sadece;

Screenshot from 2016-07-13 18:59:07

Literal tanımlarına bakalım;

String Literal

String literali birçok yerde kullandık, bunlardan bazıları şu şekilde;

  • Normal bir şekilde String gösterimi : <td th:text=”${myOrder.id}”>Order id</td>
  • Appending String : <td th:text=”‘$’ + ${myOrder.price}”>Order Price</td>
    String concenation yaptık. Ücretin başına dolar işaretini ekledim.
  • Formatting String : <h1 class=”panel-title” th:text=”|Welcome to our application, your order id -> ${myOrder.id}|”>Order DeBlockedls</h1>
    Formatlamak için text’i | karekterleri arasına alıyoruz. 

Numeric Literal

  • Comparision : <th th:if=”${myOrder.price} > 100″>Campaign</th>
    Ücret 100’den büyük ise ilgili blok çalışacaktır.
  • Arithmetics operations : <td th:text=”‘$’ + ${myOrder.price + 10.0}”>Total Price</td>
    Ücret’e Kdv yada Kargo ücretini ekledik

Null Literal

  • Normal kullanımı : <div th:if=”${myOrder} != null”>
    myOrderr degiskeni null degilse diye işlem yapmışız. == null da yapılabilir isteğe göre.

Boolean Literal

Boolean literal olarak direk true/false üzerinde kullanabilirsiniz. Örnekte status için switch ile beraber kullandım;

Ayrıca şu şekilde de kullanılabilir;

Equality Literal

Numeric deger üzerinde comparators literali de kullanabiliriz;

  • Price > 100 ise kampanya yapalım : <td th:if=”${myOrder.price} > 100″>You win campaign!</td>

Yazıyı burada sonlandırıyorum arkadaslar, ilgili projeyi daha önce git üzerinden paylasmıstım, son degisiklikleri de commitledim.

Proeje git üzerinden erişebilirsiniz : https://github.com/AlicanAkkus/ThymeleafTutorial

Mutlu ve esen kalın.

~ A.Akkus

689 Total Views 1 Views Today