Ir al contenido principal

Integrar JTE en Quarkus con Gradle

Integrar JTE en Quarkus con Gradle

Guía paso a paso para usar el motor de plantillas JTE en un proyecto Quarkus con Gradle.

1. Configurar dependencias


plugins {
    id 'java'
    id 'io.quarkus'
}

repositories {
    mavenCentral()
}

dependencies {
    implementation enforcedPlatform("io.quarkus.platform:quarkus-bom:3.28.1")
    implementation "io.quarkus:quarkus-resteasy-reactive"
    implementation "gg.jte:jte:3.2.1"
}

2. Crear carpeta de plantillas


src/main/resources/templates
└── hello.jte

Contenido de hello.jte:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>${title}</title>
</head>
<body>
    <h1>Hola ${name} desde JTE!</h1>
</body>
</html>

3. Configuración separada para JTE

Si deseas aislar la configuración en una clase aparte y apuntar a un grupo de plantillas, crea src/main/java/app/quebracho/config/JteConfig.java:


package app.quebracho.config;

import gg.jte.TemplateEngine;
import jakarta.enterprise.context.ApplicationScoped;
import jakarta.enterprise.inject.Produces;

import java.nio.file.Path;

@ApplicationScoped
public class JteConfig {

    @Produces
    TemplateEngine templateEngine() {
        return TemplateEngine.createPrecompiled(
            Path.of("src/main/resources/templates/grupo1"),
            Path.of("build/jte-classes")
        );
    }
}

4. Servicio para renderizar JTE


package app.quebracho.service;

import gg.jte.TemplateEngine;
import gg.jte.output.StringOutput;
import jakarta.enterprise.context.ApplicationScoped;
import jakarta.inject.Inject;

import java.util.Map;

@ApplicationScoped
public class TemplateService {

    @Inject
    TemplateEngine engine;  // inyectado desde JteConfig

    public String render(String template, Map<String, Object> data) {
        StringOutput out = new StringOutput();
        engine.render(template, data, out);
        return out.toString();
    }
}

5. Recurso REST que entrega HTML


package app.quebracho;

import app.quebracho.service.TemplateService;
import jakarta.inject.Inject;
import jakarta.ws.rs.GET;
import jakarta.ws.rs.Path;
import jakarta.ws.rs.Produces;
import jakarta.ws.rs.core.MediaType;

@Path("/")
public class HomeResource {

    @Inject
    TemplateService templateService;

    @GET
    @Produces(MediaType.TEXT_HTML)
    public String home() {
        return templateService.render("hello.jte",
               java.util.Map.of("title", "Inicio", "name", "Hugo"));
    }
}

6. Ejecutar en modo desarrollo


./gradlew quarkusDev

Abre en el navegador: http://localhost:8080

Deberías ver: Hola Hugo desde JTE!

Comentarios

Entradas populares de este blog

Instalación y Configuración de MySQL 5.7 en Ubuntu 24.04 LTS

Instalar MySQL 5.7 en Ubuntu 24.04 1. Descargar e instalar MySQL Copiar mkdir ~/mysql57 cd ~/mysql57 wget https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz tar -zxvf mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz sudo mv mysql-5.7.44-linux-glibc2.12-x86_64 /usr/local/mysql sudo ln -s /usr/local/mysql/bin/mysql /usr/local/bin/mysql 2. Instalar dependencias necesarias IMPORTANTE: Se descargan las versiones nuevas de las librerías y se las vincula con las librerías que necesita MySQL. Copiar sudo apt update # Reemplazo de libaio sudo apt install libaio1t64 # Reemplazo de libtinfo y ncurses sudo apt install libtinfo6 libncurses6 Copiar # Crear los enlaces simbólicos sudo ln -sf /usr/lib/x86_64-linux-gnu/libaio.so.1t64 /usr/lib/libaio.so.1 sudo ln -sf /usr/lib/x86_64-linux-gnu/libtinfo.so.6 /usr/lib/x86_64-linux-gnu/libtinfo.so.5 sudo ln -sf /usr/lib/x86_64-linux-gnu/libncurses.so.6 /usr/lib/x86_64...

Instalar DeepSeek R1 1.5B en Ubuntu 24.04 sin GPU

Instalar DeepSeek en tu sistema sin GPU, pasos: Especificaciones del Entorno de Pruebas Componente Detalle SO Ubuntu Cinnamon 24.04 LTS x86_64 Kernel 6.8.0-51-generic CPU Intel i7-6820HQ (8 núcleos) @ 3.600GHz GPUs AMD ATI Radeon HD 8830M / R7 250 / R7 M465X Intel HD Graphics 530 RAM 15.882 GB (3.716 GB en uso) Resolución 1440x810 Escritorio Cinnamon 6.0.4 1. Instalar Git LFS sudo apt-get install git-lfs git lfs install 2. Clonar el repositorio cd /opt sudo mkdir deepseek && sudo chown $USER:$USER deepseek cd deepseek git clone https://huggingface.co/deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B 3. Crear y activar un entorno virtual python -m ve...

Instalar Jasper Studio 6.21 para Ubuntu 24.04

Instalar js-studiocomm_6.21.3 en Ubuntu 24.4 Para instalar Jaspersoft Studio en Ubuntu 24.4, sigue estos pasos: 1. Descargar Jasper Studio Descarga la versión js-studiocomm_6.21.3 desde el siguiente enlace: Jaspersoft Studio 6.21.3 2. Crear el directorio de instalación mkdir /opt/jasperstudio 3. Mover el archivo descargado mv /dir_descarga/js-studiocomm_6.21.3_linux_x86_64.tgz /opt/jasperstudio/ cd /opt/jasperstudio 4. Extraer el archivo tar -xvzf js-studiocomm_6.21.3_linux_x86_64.tgz cd js-studiocomm_6.21.3 5. Ejecutar Jaspersoft Studio ./Jaspersoft\ Studio 6. Crear acceso directo en el escritorio Para facilitar el acceso, crea un archivo .desktop en el escritorio: gedit ~/Escritorio/jaspersoft-studio.desktop En el archivo jaspersoft-studio.desktop , agrega lo siguiente: [Desktop Entry] Version=1.0 Ty...