2012-12-31 21 views
5

Yürütme 2'yi kullanma Basit bir REST API'sini gerçekleştiriyorum, çıktı düz metindir. Benim şablon şöyle görünür: Bu aşağıdaki çıktıyı verirŞablon çıktısında gereksiz çizgi izlerini kaldırın.

return ok(views.html.bla.render(itemsMap)).as("text/plain"); 

: denetleyici olarak

@(items: Map[String,String]) 
@for((key, value) <- items) { 
@value 
@key 
} 

ben ilk 2 boş hatların kurtulmak istiyorum

(empty line) 
(empty line) 
value 
key 
(empty line) 
value 
key 

- olduğu Bu mümkün mü?

İlk satırda forma koymak üstteki boş satırlardan birini kaldırır, ancak yine de bir satır kalır ve ilk satırda şablonun okunmasını zorlaştırır): Herhangi bir ipucu için teşekkürler!

cevap

4

Öncelikle, sen txt şablonlarını kullanmak gerektiği gibi bir şey (bla.scala.txt). Ayrıca otomatik olarak text/plain; charset=utf-8 içerik türünü de ayarlar.

içeriği kırpmak için doğrudan görüntülenen içeriklere dönebilirsiniz:

return ok(views.txt.bla.render(itemsMap).body().trim()); 

durumda HTML içeriği oluşturmak isteyen el Bunu değiştirmek gerekir:

return ok(views.html.ble.render().body().trim()).as("text/html; charset=utf-8"); 
+0

Mükemmel, bu sorunu giderir :-) Eclipse bana render (itemsMap), ama .body(). Trim() daha az olmayan :-) çalışır. –

+0

@Marius, html'nin gövdesini değiştirerek "text/plain" olarak döndürmeye neden oluyor, bu yüzden "text/html" ifadesinin doğru bir şekilde döndürülmesi için bir örnek ekledim, umarım sakıncası yoktur. – biesior

+0

Amaç, text/plain 'i geri döndürmek oldu ... –

1

Bir haritadan düz metin çıktıları oluşturuyorsanız, neden hiç görünüm kullanmıyorsunuz? Davanınızda herhangi bir fayda sağlamazlar.

Oluşturma işlevini saf Scala'da yazabilirsiniz. Düz metin kullanın

items.map{ case (k,v) => v + '\n' + k}.mkString('\n') 
+0

iyi, içinde durumda XML veya sth'ye geçmeliyim. Bunun gibi, biçimlendirilmiş biçimlendirilmiş şeyler olması benim görüşüme göre daha iyidir :-) –

+0

XML'e geçerseniz, Scala'nın XML desteğini kullanabilirsiniz. Başka bir şeye geçiş yaparsanız (JSON gibi) bir JSON kütüphanesi kullanabilirsiniz. Oyunun templating (sürpriz!) Şablonları için iyidir. –

İlgili konular