2013-03-08 34 views
0

我想在屏幕上使用Scala將列表對象中的項目輸出爲XML。我嘗試使用下面的代碼:播放2模板不識別代碼,而是打印它

@(suppliers: List[Supplier]) 

@import helper._ 
@import scala.xml._ 

@main("Suppliers and Parts") { 

    var xmlSuppliers = <suppliers>{ suppliers.map(s => s.toXml()) }</suppliers> 
    println(xmlSuppliers) 

} 

但這一切發生的是,這些代碼兩行被逐字寫入屏幕。他們沒有被解釋。

我可以訪問供應商列表的價值,如果我只是使用@ supplier.id @ supplier.name等,但我想在屏幕上輸出列表XML到XML,而不是發生在我身上。

在此先感謝。

+4

不是斯卡拉,但玩的模板引擎。看看[模板引擎的文檔](http://www.playframework.com/documentation/2.1.0/ScalaTemplates)。你需要將你的scala代碼標記爲scala代碼。你的'@ main'方法需要一個'Html'節點,而不是一個Scala方法。 – 2013-03-08 12:01:52

+0

謝謝,知道了這一切,工作。現在掌握了它。 – tigerdahl 2013-03-14 00:31:05

回答

0

您應該來包裝你的代碼在一個@{}塊,或者重寫代碼的模板方式:

<suppliers> 
    @suppliers.map { s => @s.toXml() } 
</suppliers>