2016-09-18 25 views
0

私はScalaを初めて使用しています。私はhtmlファイルをあらかじめ定義しています。 HTMLファイルに動的コンテンツを挿入したい動的HTMLファイルを生成する

e.g. 
$for(products in product) 
    <div>product.name</div> 
    <div>product.description</div> 

ここでproductsはScalaコレクションです。私はhtmlファイルを読み込み、動的値をフィードできます(products)。

Scalaでこれを行う方法を教えてください。

答えて

1

トワールテンプレート

HTMLタグ内部のコンパイル、タイプセーフ、構成可能、スカラ座(似た角度のjs [Htmlの内部javscript])

Twirlテンプレートが、HTML内のスカラ座を書くことができますtypesafeは関数にコンパイルされ、同様に構成可能です。

orders.scala.html任意のライブラリなし

@(customer: Customer, orders: List[Order]) 

<h1>Welcome @customer.name!</h1> 

<ul> 
@for(order <- orders) { 
    <li>@order.title</li> 
} 
</ul> 

Scalaは、文字列の補間のための良いサポートを持っており、また、非常に便利であるエスパス文字を含む文字列を宣言するためのトリプル引用構文を提供。この簡単な方法を使用して動的HTMLを作成できます。

case class Product(name: String) 

    case class Html(content: String) 

    def produceHtml(products: List[Product]): Html = { 
    Html { 
     products.map { product => 
     s""" 
      |<div> ${product.name} </div> 
     """.stripMargin 
     }.mkString("\n") 
    } 
    } 
+0

2つのオプションを提供してくれてありがとうございます。 –

関連する問題