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.
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:
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!!!
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! :)
Un BLOB en SQL es un tipo incorporado que almacena un Objeto Binario Grande como un valor de columna en una fila de una...
SDKMAN! es una herramienta para la administración de versiones paralelas de varios programas de desarrollo de software c...
Googleando me encontré con una interesante clase java «JpegImagesToMovie» que convierte imágenes JPEG a vídeo MOV de Qui...
Crecen las startups en Bolivia: La mayoría está en Santa Cruz, Cochabamba y La Paz Según el «Mapeo del Ecosistema de Tec...
En este tutorial veremos lo fácil que es personalizar las pestañas de un JTabbedPane con unas cuantas lineas de código y...
El Algoritmo de Aldous-Broder llamado así por dos matemáticos, David Aldous and A. Broder (quienes trabajaban en la inve...
Por lo general se usan transacciones a nivel base de datos y posteriormente se llaman estos a través de procedimientos a...
En este post, aprenderemos como conectar Visual Basic 6 con SQL Server, abrir una tabla, leer su contenido y mostrar est...
Lo que veremos en este post es la configuración del driver para PHP de SQL Server que ha creado Microsoft el cual permit...
Google Bard la inteligencia artificial de Google se actualiza con una mejora que entra a competir con el resto de IAs y...