Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在浏览器中运行Kotlin HTML Builder_Kotlin - Fatal编程技术网

在浏览器中运行Kotlin HTML Builder

在浏览器中运行Kotlin HTML Builder,kotlin,Kotlin,我是一名Java开发人员,对Kotlin来说非常陌生。不过,我喜欢这种语言,而且我喜欢使用它可以轻松地完成web应用程序。问题是,我不知道如何在浏览器中运行Kotlin HTML builder文件,以便在Kotlin中创建基本的网页框架。我可以在IDE中输出它,但要让它在我的浏览器中运行似乎很难,这真是愚蠢。这可能是一个愚蠢的问题,我遗漏了一些非常明显的东西,但我似乎无法在网上找到答案 请记住,我没有使用Intelli-J IDE。我很愿意,但不能仅仅为了在Kotlin进行web开发而支付大笔

我是一名Java开发人员,对Kotlin来说非常陌生。不过,我喜欢这种语言,而且我喜欢使用它可以轻松地完成web应用程序。问题是,我不知道如何在浏览器中运行Kotlin HTML builder文件,以便在Kotlin中创建基本的网页框架。我可以在IDE中输出它,但要让它在我的浏览器中运行似乎很难,这真是愚蠢。这可能是一个愚蠢的问题,我遗漏了一些非常明显的东西,但我似乎无法在网上找到答案

请记住,我没有使用Intelli-J IDE。我很愿意,但不能仅仅为了在Kotlin进行web开发而支付大笔费用。我一直在使用Eclipse


提前感谢。

当您使用Kotlin html builders
kotlinx.html
或任何其他类似工具时,您需要构建它们,以便为浏览器获取html

没有“Kotlin builder文件”这样的东西。这些构造是普通的Kotlin代码,所以您可以在(服务器?)代码库中编写它们,编译它们,然后调用它们来生成HTML响应。这也意味着您需要一个(普通Java)路由器框架,例如
Spark


总之,html生成器是生成html字符串的一种方法,因此它们不包括将html发送到其他地方的方法。

Kotlinx本身没有任何实用程序将结果发送到用户的浏览器。它只是一个可以创建HTML字符串的常规Kotlin代码。您需要一种方法将其发送给用户。有一些

最简单的一个是老的。有人还在用吗

@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"
                    }
                }
            }
        }
    }
}
今天很流行。然而,这个
@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"
                    }
                }
            }
        }
    }
}
是众多年轻的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"
                    }
                }
            }
        }
    })
}
fun main(args:Array):单位{
获取(“spark”,{request:request,response:response->
createHTML(true).html{
头{
title=“来自kotlinx.html+Servlets的Hello”
}
身体{
h1{+“Kotlin真了不起”}
p{
+“了解更多有关”
a(”http://kotlinlang.org") {
target=ATarget.blank
+“它”
}
}
}
}
})
}
我将离开依赖关系管理,运行应用程序并猜测正确的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>

科特林太棒了
阅读更多关于

您也可以尝试使用其他框架


此外,您还可以查看一个专门为Kotlin设计的web框架,但它仍处于alpha阶段。

我可能在这里遗漏了一些东西,但如果使用kotlinx.html javascript版本,生成的js代码确实可以作为DOM生成器执行。。。如果需要,可以添加更多内容。

Kotlin HTML生成器AFAIK只是一个示例,说明如何将生成器与Kotlin一起使用来创建DSL。我不建议它在任何实际用例中使用它。使用您喜欢的web框架(SpringMVC、普通servlet/JSP等等),用Kotlin而不是Java编写类,这就解释了很多。哈哈。谢谢你的帮助。InteliJ社区版有什么问题?它是免费的,OOS@JBNizet
kotlinx.html
是一个运行良好的解决方案,可以说比JSP模板更好