尝试使用Kotlin
点下HTML Builder
网站上的代码段,因此我写了以下内容:
val tbl = createHTML().table {
for ((num, string) in data) {
tr {
td { +"$num" }
td { +string }
}
}
}
document.getElementById("container")!!.appendChild(tbl)
但IDE是tbl
的基础,错误如下:
我在这做什么错误?
答案 0 :(得分:0)
createHtml()
生成一个String,无法传递给appendChild()
。你应该改为使用
val tbl = document.create.table {
...
}
生成一个HTMLElement(它是一个Node)或者只是跳过变量。
document.getElementById("container")!!.append.table {
...
}
createHTML().xxx
最适合与服务器Ktor.io
一起使用,您可以在其中创建以下内容:
val html = createHTML().html {
body {
form(action = "/login", encType = FormEncType.applicationXWwwFormUrlEncoded, method = FormMethod.post) {
p {
+"user:"
textInput(name = "user") {
value = principal?.name ?: ""
}
}
p {
+"password:"
passwordInput(name = "pass")
}
p {
submitInput() { value = "Login" }
}
}
}
}
然后使用以下命令将其发送到浏览器:
call.respondText(html, ContentType.Text.Html)