Kotlinx自体には、結果をユーザーのブラウザに送信するユーティリティはありません。これは、HTML文字列を作成できる通常のKotlinコードです。それをユーザーに送信する方法が必要です。幾つかある。
最も単純なものは、普通の古いJava servletsです。誰もまだそれらを使用していますか?
@WebServlet(urlPatterns = arrayOf("/servlet"), loadOnStartup = 1)
class KotlinxHtmlServlet : HttpServlet() {
override fun doGet(request: HttpServletRequest?, response: HttpServletResponse?) {
response!!.setContentType("text/html")
response!!.writer.appendHTML(true).html {
head {
title = "Hello from kotlinx.html + Servlets"
}
body {
h1 { +"Kotlin is awesome" }
p {
+"Read more about "
a("http://kotlinlang.org") {
target = ATarget.blank
+"it"
}
}
}
}
}
}
Spring Bootは今日非常に一般的です。しかし、この@Controller
はあまりにもバニラ春に動作します:
@Controller
class KotlinxHtmlController {
@ResponseBody
@RequestMapping(path = arrayOf("controller"), method = arrayOf(RequestMethod.GET))
fun doGet(): String {
return createHTML(true).html {
head {
title = "Hello from kotlinx.html + Servlets"
}
body {
h1 { +"Kotlin is awesome" }
p {
+"Read more about "
a("http://kotlinlang.org") {
target = ATarget.blank
+"it"
}
}
}
}
}
}
SparkJavaは若いJavaのマイクロフレームワークの多くの一つです。 SparkJavaの場合、あなたは自分のmain
内のルートを書くことができることに、注意してください:
fun main(args: Array<String>): Unit {
get("spark", { request: Request, response: Response ->
createHTML(true).html {
head {
title = "Hello from kotlinx.html + Servlets"
}
body {
h1 { +"Kotlin is awesome" }
p {
+"Read more about "
a("http://kotlinlang.org") {
target = ATarget.blank
+"it"
}
}
}
}
})
}
私は、依存関係の管理を残してアプリケーションを実行し、アクセスするための正しいURLを推測しているあなたにページを生成しました。上記の例のすべては、このHTMLになります:あなたはまた、DropwizardまたはNinjaフレームワークを試すことができます
<html>
<head title="Hello from kotlinx.html + Servlets"></head>
<body>
<h1>Kotlin is awesome</h1>
<p>Read more about <a href="http://kotlinlang.org" target="_blank">it</a></p>
</body>
</html>
。
また、Kara(特にKotlin用に設計されたWebフレームワーク)を見ることができますが、まだアルファステージです。
Kotlin HTMLビルダーAFAIKは、DSLを作成するためにKotlinでビルダーを使用する方法の単なる例です。どのような実際のユースケースでも使用するようアドバイスしません。あなたの好みのWebフレームワーク(Spring-MVC、プレーンサーブレット/ JSPなど)を使って、JavaではなくKotlinでクラスを書くだけです。 –
それはたくさん説明します。ハハ。助けてくれてありがとう。 –
InteliJ Community Editionの問題点は何ですか?それは無料でOOS https://www.jetbrains.com/idea/download/ – voddan