Groovy

Crear una página web HTML mediante Groovy

14/Ene/2013

En este ejemplo vamos a ver cómo podemos crear una página web HTML mediante Groovy. Vamos a generar un código HTML de una forma muy sencilla apoyándonos en Groovy.

Para poder crear la página HTML vamos a utilizar la clase MarkupBuilder, la misma que utilizábamos para crear un documento XML con Groovy. Lo que sucede en este caso es que con MarkupBuilder vamos a crear los tags de HTML.

Así, lo primero será definir nuestro MarkupBuilder y su respectiva StringWriter que será dónde dejemos el contenido de la página web HTML.

def sw = new StringWriter();
def paginaweb = new groovy.xml.MarkupBuilder(sw)

Ahora, mediante los métodos dinámicos del MarkupBuilder vamos creando la estructura HTML. Hay que recordar que para crear un nodo de la página web HTML haremos lo siguiente:

paginaweb.elemento(atributos,contenido){elementos_hijo}

Vamos a crear el elemento raiz HTML.

paginaweb.html({})

Vemos que como no tiene ni atributos, ni contenido, ni elementos hijo (todavía), lo construimos vacío.

Pero, ahora vamos a insertarle la cabecera o HEAD y el cuerpo o BODY.

paginaweb.html({
	head({
		title("Pagina Web Generada Con Groovy")
	})
	body({})
})

Vemos que cada elemento de nuestra página web HTML tiene un método asociado. Y que en el caso del título de la página o TITLE lleva contenido, dicho contenido lo hemos metido como parámetro del metodo.

Ahora vamos a poner un elemento con atributos, por ejemplo, un texto que tenga un enlace. Para ello utilizamos un elemento A y su atributo href.

paginaweb.html({
	head({
		title("Pagina Web Generada Con Groovy")
	})
	body({		
		a(href:"https://lineadecodigo.com","Linea de Codigo")
	})
})

Vemos que es muy sencillo ir creando elementos HTML con nuestro MarkupBuilder. De eta forma, el código completo de la página quedará de la siguiente forma:

paginaweb.html({
	head({
		title("Pagina Web Generada Con Groovy")
	})
	body({
		h1("Pagina creada con Groovy")
		p("Esto es una pagina generada mediante un programa Groovy")
		hr()		
		a(href:"https://lineadecodigo.com","Linea de Codigo")
	})
})

Ya solo nos quedará crear un fichero .html para volcar el contenido. En este caso utilizamos la clase File para volcar la página web HTML.

def fichero = new File("index.html")
fichero.write(sw.toString())

Así ya tenemos nuestra página web HTML generada con Groovy.

Suscribir
Notificar de
guest
2 Comentarios
Recientes
Anteriores Más votados
Opiniones integradas
Ver todos los comentarios