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.
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.