Velocityテンプレートを使う

Estimated reading time: 1 minute

KtorはVelocityテンプレートをVelocity Featureを通じてサポートしています。 VelocityEngineとともにVelocity Featureを初期化します:

This feature is defined in the class io.ktor.velocity.Velocity in the artifact io.ktor:ktor-velocity:$ktor_version.
dependencies { implementation "io.ktor:ktor-velocity:$ktor_version" }
dependencies { implementation("io.ktor:ktor-velocity:$ktor_version") }
<project> ... <dependencies> <dependency> <groupId>io.ktor</groupId> <artifactId>ktor-velocity</artifactId> <version>${ktor.version}</version> <scope>compile</scope> </dependency> </dependencies> </project>

インストール

Velocityをインストールし、VelocityEngineを設定します:

install(Velocity) {
    setProperty("resource.loader", "classpath")
    setProperty("classpath.resource.loader.class", ClasspathResourceLoader::class.java.name)
}

使い方

Velocityが設定されていたら、call.respondVelocityContentインスタンスとともに呼び出します:

data class User(val name: String, val email: String)

get("/") {
	 val user = User("user name", "user@example.com")
    call.respond(VelocityContent("templates/hello.vl", user))
}