0

Kotlinタップの下のサイトでスニペットを使用しようとしているHTML Builderので、以下を書きました:

val tbl = createHTML().table {
    for ((num, string) in data) {
        tr {
            td { +"$num" }
            td { +string }
        }
    }
}
document.getElementById("container")!!.appendChild(tbl)

しかし、IDE はtbl以下のようなエラーの根底にあります:

ここに画像の説明を入力

私がここでやっている間違いは何ですか?

4

1 に答える 1

0

createHtml()に渡すことができない文字列を生成しappendChild()ます。代わりに使用する必要があります

val tbl = document.create.table {
    ...
}

HTMLElement (ノード) を生成するか、単に変数をスキップします。

document.getElementById("container")!!.append.table {
    ...
}

createHTML().xxxKtor.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)
于 2017-11-04T21:46:51.820 に答える