Java DSL for HTML

HtmlFlow is a Java HTML builder to write typesafe HTML documents in a fluent style. Use one of its view() factory methods to get started with HtmlFlow, such as the following sample, which produces the HTML on the right side. Use the utility Flowifier.fromHtml(html) to get the HtmlFlow definition from the corresponding HTML source code.

 

HtmlFlow
  .doc(System.out)
    .html() // HtmlPage
      .head()
        .title().text("HtmlFlow").__()
      .__() // head
      .body()
        .div().attrClass("container")
          .h1().text("My first HtmlFlow page").__()
          .img().attrSrc("http://bit.ly/2MoHwrU").__()
          .p().text("Typesafe is awesome! :-)").__()
        .__() // div
      .__() // body
    .__(); // html
output  ↴
<html>
  <head>
    <title>HtmlFlow</title>
  </head>
  <body>
    <div class="container">
      <h1>My first HtmlFlow page</h1>
      <img src="http://bit.ly/2MoHwrU">
      <p>Typesafe is awesome! :-)</p>
    </div>
  </body>
</html>
↖  Flowifier.fromHtml("...")

 

HtmlFlow is the most performant engine among state of the art template engines like Velocity, Thymleaf, Mustache, etc and also other DSL libraries for HTML. Check out the performance results in our forks of the most popular benchmarks at xmlet/template-benchmark and xmlet/spring-comparing-template-engines.

References