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:
<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>
您也可以嘗試Dropwizard或Ninja框架。
另外,你可以看看Kara - 一個專門爲Kotlin設計的web框架 - 但它仍然處於alpha階段。
Kotlin HTML構建器AFAIK只是構建器如何與Kotlin一起使用來創建DSL的示例。我不會建議它在任何實際使用情況下使用它。使用你喜歡的Web框架(Spring-MVC,普通的servlets/JSP,無論什麼),只需在Kotlin而不是Java中編寫你的類。 –
這解釋了很多。哈哈。謝謝您的幫助。 –
InteliJ Community Edition有什麼問題?它是免費的和OOS https://www.jetbrains.com/idea/download/ – voddan