我刚刚开始学习Ktor,我真的很喜欢HTML DSL的使用。阅读文档(https://ktor.io/docs/html-dsl.html#templates)我看到了一个模板引擎。然而,要么是我看不到的东西,要么是我没有发现使用它的优点。使用标准的Kotlin扩展函数,比如Div,P,..不是更干净,更容易吗?
我在教程中发布了一个如何使用函数编写示例的示例(模板示例可以找到here):
fun Application.configureRouting() {
configureArticleRouting()
routing {
get("/") {
val name = "Ktor"
call.respondHtml(HttpStatusCode.OK) {
mainLayout(title = name){
articleContent(Article("Article Title", "My article content"))
}
}
}
}
}
fun FlowContent.articleContent(article: Article) {
article {
h2 {
+article.title
}
p {
+article.content
}
}
}
fun HTML.mainLayout(title: String, content: FlowContent.() -> Unit) {
head {
title {
+title
}
}
body {
content()
}
}
data class Article(val title: String, val content: String)
字符串
问题是,使用模板的好处是什么?
谢谢你,
1条答案
按热度按时间2w2cym1i1#
使用模板的一个优点是,没有深厚编程技能的设计师可以做布局