Study
Play Framework

Twirl Template Dasar

Penjelasan

Twirl adalah template engine bawaan Play dengan file berekstensi `.scala.html`, ditulis mayoritas seperti HTML biasa tapi bisa menyisipkan kode Scala memakai prefix `@`. Karena template dikompilasi menjadi fungsi Scala biasa, kesalahan tipe data pada variabel yang dipakai di template langsung ketahuan saat compile time — bukan baru meledak saat runtime seperti kebanyakan template engine dinamis. Parameter template dideklarasikan di baris pertama file dengan sintaks `@(param: Tipe)`, mirip signature fungsi. Controller memanggil template ini layaknya memanggil fungsi biasa, mengoper argumen sesuai parameter yang didefinisikan, lalu hasilnya (bertipe `Html`) dibungkus `Ok(...)` sebagai response.

Contoh Konsep

@* app/views/produk.scala.html *@
@(namaProduk: String, harga: Int)

<!DOCTYPE html>
<html>
  <body>
    <h1>@namaProduk</h1>
    <p>Harga: Rp@harga</p>
    @if(harga > 100000) {
      <p>Kategori: Premium</p>
    } else {
      <p>Kategori: Reguler</p>
    }
  </body>
</html>

@* Dipanggil dari controller: *@
@* Ok(views.html.produk("Kopi Susu", 25000)) *@

Praktikum

Buat template Twirl bernama daftar.scala.html yang menerima parameter List[String] berisi nama produk, lalu menampilkannya sebagai daftar <li> menggunakan @for.

Editor Latihan

Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.

Tips

Karena Twirl dikompilasi jadi fungsi Scala, gunakan tipe data yang jelas (bukan Any) di parameter template — ini memberi keuntungan type-safety yang jadi salah satu alasan utama memakai Twirl.