5

この方法でScalateを試してみたい:

  1. 次のように、scalate テンプレートを提供します: index.html
  2. scala コードを使用して、一部のデータを手動でレンダリングします
  3. テンプレートの形式は何でもOK(mustache、Scaml、SSP、Jade)

しかし、見つけたすべてのドキュメントとソースコードを読んでも、悲しいことにこれを行う方法は何も見つかりませんでした。

この質問をより明確にするために、次のようなテンプレートがありuser.htmlます。

<%@ var user: User %>
<p>Hi ${user.name},</p>
#for (i <- 1 to 3)
<p>${i}</p>
#end
<p>See, I can count!</p>

ユーザーインスタンスでレンダリングしたいUser(name="Mike")。どうやってするの?

4

1 に答える 1

1

次のsimple_example.mustacheテンプレートがあるとします。

I like {{programming_language}}
The code is {{code_description}}

次のコードでテンプレートをレンダリングできます。

import org.fusesource.scalate.TemplateEngine
val sourceDataPath = os.pwd/"simple_example.mustache".toString
val engine = new TemplateEngine
val someAttributes = Map(
  "programming_language" -> "Scala",
  "code_description" -> "pretty"
)
engine.layout(sourceDataPath, someAttributes)

結果は次のとおりです。

I like Scala
The code is pretty

最初の学習のこぶを乗り越えると、Scalate は実際に非常に使いやすくなっています (ドキュメントでは lib を使いやすくしていません)。

于 2020-12-22T02:56:19.513 に答える