Sigueme en Facebook Sigueme en Twitter Sigueme en Instagram Sigueme en Youtube
JC Mouse Bolivia
Index / Java / Crea código HTML5 desde java con j2html

Crea código HTML5 desde java con j2html

Autor jc mouse jueves, agosto 9, 2018

j2html es una biblioteca para java que permite generar código html seguro desde código java utilizando sus propias etiquetas similares a las de html de una manera bastante sencilla. La versión mínima con la funciona es el JDK 8 ya que hace uso la sintaxis lambda.

html5 y java

Para poder hacer uso de esta librería se puede utilizar desde Maven:

<dependency>
    <groupId>com.j2html</groupId>
    <artifactId>j2html</artifactId>
    <version>1.3.0</version>
</dependency>

desde Gradle:

compile 'com.j2html:j2html:1.3.0'

O clonando el proyecto desde Github: https://github.com/tipsy/j2html

A continuación un ejemplo de uso de esta librería donde se crea el código necesario para una pagina web en HTML5.

import static j2html.TagCreator.*;

/**
 * @see https://www.jc-mouse.net/
 * @author mouse
 */
public class Main {

    public static void main(String[] args) {

        String style_section = "background-color: #ffff99;";
        String style_p1 = "margin: 6px; color:#3333cc;";
        String style_p2 = "margin: 6px; font-style: italic;";
        String style_anuncio = "border:1px solid black; padding:4px; margin: 6px 0; ";
        String style_footer = "margin: 4px 0; background-color: #52E396; padding:4px; border:1px solid black;";

        String output
                = html(head(
                        title("Hola Mundo"),
                        link().withRel("stylesheet").withHref("style.css"),
                        meta().withName("description").withContent("Descripcion de sitio web")
                ),
                        body(header(
                                img().withSrc("https://j2html.com/img/logo_teal.png"),
                                h1("Mi Primera Pagina Web")
                        ),
                                j2html.TagCreator.main(attrs("#main.content"),
                                        section(
                                                article(
                                                        p("Lorem ipsum dolor sit amet, consectetur adipiscing elit").withStyle(style_p1),
                                                        p("Excepteur sint occaecat cupidatat non proident").withStyle(style_p2))
                                        ).withStyle(style_section),
                                        aside("publicidad").withStyle(style_anuncio),
                                        section(
                                                article(
                                                        p("Sed quia consequuntur magni dolores eos qui ratione voluptatem").withStyle(style_p1),
                                                        p("Quis autem vel eum iure reprehenderit qui in ea").withStyle(style_p2))
                                        ).withStyle(style_section)
                                ),
                                footer(
                                        div().withId("footer").with(
                                        join(span("Bolivia - "),
                                                a("JC Mouse").withHref("https://www.jc-mouse.net"))
                                )
                                ).withStyle(style_footer)
                        )).render();

        System.out.println(output);
    }

}

Nota: Se utiliza j2html.TagCreator.main para evitar conflicto con el método main de la clase principal

El código anterior, daría como resultado el siguiente código HTML5 en consola

<html>
   <head>
      <title>Hola Mundo</title>
      <link rel="stylesheet" href="style.css">
      <meta name="description" content="Descripcion de sitio web">
   </head>
   <body>
      <header>
         <img src="https://j2html.com/img/logo_teal.png">
         <h1>Mi Primera Pagina Web</h1>
      </header>
      <main id="main" class="content">
         <section style="background-color: #ffff99;">
            <article>
               <p style="margin: 6px; color:#33cc33;">Lorem ipsum dolor sit amet, consectetur adipiscing elit</p>
               <p style="margin: 6px; font-style: italic;">Excepteur sint occaecat cupidatat non proident</p>
            </article>
         </section>
         <aside style="border:1px solid black; padding:4px; margin: 6px 0; ">publicidad</aside>
         <section style="background-color: #ffff99;">
            <article>
               <p style="margin: 6px; color:#33cc33;">Sed quia consequuntur magni dolores eos qui ratione voluptatem</p>
               <p style="margin: 6px; font-style: italic;">Quis autem vel eum iure reprehenderit qui in ea</p>
            </article>
         </section>
      </main>
      <footer style="margin: 4px 0; background-color: #52E396; padding:4px; border:1px solid black;">
         <div id="footer"><span>Bolivia - </span> <a href="https://www.jc-mouse.net">JC Mouse</a></div>
      </footer>
   </body>
</html>

Y probando el código en un Servlet obtenemos:

j2html Servlet

Este es un sencillo ejemplo de las capacidades de j2html, la librería también cuenta con la capacidad de crear código CSS y JavaScript:

script(
   rawHtml("alert('Hola Mundo')")
);

style(
   rawHtml("body{ background-color: #52E396; }")
);

De igual forma, tiene lo necesario para trabajar con colecciones, formularios, tablas, etc.

enjoy!!!

Tags

Si te ha gustado podrías compartirlo o dejar un comentario. ¡Muchas gracias!
Autor: JC Mouse

Yo soy yo :) JC Mouse, Soy orgullosamente boliviano soy fundador y CEO de la web jc-Mouse.net uno de las pocas web en emprendimiento y tecnología en Bolivia.

Toda la información que encuentres en este sitio es y sera completamente gratis siempre, puedes copiar, descargar y re-publicar si así lo deseas en otros blogs o sitios web, solo te pido a cambio que dejes una referencia a esta web. Esto nos ayuda a crecer y seguir aportando. Bye

Enjoy! :)

También Te Podría Interesar

Procesamiento de imágenes en java con ImageMagick

Procesamiento de imágenes en java con ImageMagick

im4java es una interfaz pura de Java para la línea de comandos de ImageMagick. La interfaz de la línea de comandos de IM...

Obtener Metadatos de una base de datos

Obtener Metadatos de una base de datos

La clase de java DatabaseMetaData nos permite obtener información exhaustiva sobre una base de datos, para ser más exact...

Métodos Numéricos: Sustitución Directa

Métodos Numéricos: Sustitución Directa

El Método de Sustitución Directa básicamente consiste en asumir un valor, reemplazar el mismo en la función despejada y...

JavaScript: Script y Web para generar banderas ondeando

JavaScript: Script y Web para generar banderas ondeando

Online Flag Waver es una páginas web con la que podemos generar banderas ondeando con la textura que elijamos ya sea des...

Como crear salas de videollamadas con Messenger Rooms de Facebook

Como crear salas de videollamadas con Messenger Rooms de Facebook

Messenger Rooms es la nueva opción de videoconferencias de Facebook que permite realizar videollamadas con hasta 50 pers...

Crea tu propia plantilla de proyectos

Crea tu propia plantilla de proyectos

En un post anterior [Crear plantillas personalizadas para Netbeans] vimos una forma sencilla que tiene Netbeans para fac...

Comparte lo que sabes

Categorias

Últimas entradas

simuladorasamblea.bo es una herramienta digital  desarrollado por los Analistas de Datos Rafael López Valverde y  Sergio...

Crecen las startups en Bolivia: La mayoría está en Santa Cruz, Cochabamba y La Paz Según el «Mapeo del Ecosistema de Tec...

«Las palabras que elegimos dan forma a nuestra realidad. La Fuente Educada (Polite Type) es una fuente de código abierto...

En este post realizaremos un proyecto en VUE que se conectara a un REST API  y utilizara un servicio del mismo para obte...

Herramientas

Generador de Enlaces a Whatsapp