Quarkus 可以在自定义扩展中使用Qute模板吗?

Quarkus 可以在自定义扩展中使用Qute模板吗?,quarkus,quarkus-qute,Quarkus,Quarkus Qute,我想开发一个由多个独立组件(自定义扩展)组成的Quarkus应用程序。现在,我需要每个扩展都有自己的qute模板;我怎么能这么做 这里有一个解决方案: 将resources/templates/hello.html和该类放入自定义扩展的部署部分 import java.io.InputStream; import java.nio.charset.StandardCharsets; import java.util.concurrent.CompletionStage; import javax

我想开发一个由多个独立组件(自定义扩展)组成的Quarkus应用程序。现在,我需要每个扩展都有自己的qute模板;我怎么能这么做

这里有一个解决方案:

resources/templates/hello.html
和该类放入自定义扩展的
部署部分

import java.io.InputStream;
import java.nio.charset.StandardCharsets;
import java.util.concurrent.CompletionStage;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import io.quarkus.qute.Engine;
import io.quarkus.qute.Template;
import org.apache.commons.io.IOUtils;

@Path("hi")
public class TestQuteTemplateInDeployment {

    public Template getTemplateFromFile(String path2template) {
        Engine engine = Engine.builder().addDefaults().build();
        ClassLoader classLoader = getClass().getClassLoader();
        String content = "<!doctype html><html></html>";
        try {
            InputStream inputStream = classLoader.getResourceAsStream(path2template);
            content = IOUtils.toString(inputStream, StandardCharsets.UTF_8);
        } catch (Exception e) {
            ;
        }
        Template helloTemplate = engine.parse(content);
        return helloTemplate;
    }

    @GET
    @Produces(MediaType.TEXT_HTML)
    public CompletionStage<String> get() {
        return getTemplateFromFile("templates/hello.html").data("msg", "Hi! I'm Here.").renderAsync();
    }

}

import java.io.InputStream;
导入java.nio.charset.StandardCharset;
导入java.util.concurrent.CompletionStage;
导入javax.ws.rs.GET;
导入javax.ws.rs.Path;
导入javax.ws.rs.products;
导入javax.ws.rs.core.MediaType;
导入io.quarkus.qute.Engine;
导入io.quarkus.qute.Template;
导入org.apache.commons.io.IOUtils;
@路径(“hi”)
公共类TestQuteTemplateDeployment{
公共模板getTemplateFromFile(字符串路径模板){
Engine=Engine.builder().addDefaults().build();
ClassLoader ClassLoader=getClass().getClassLoader();
字符串内容=”;
试一试{
InputStream InputStream=classLoader.getResourceAsStream(path2template);
content=IOUtils.toString(inputStream,StandardCharsets.UTF_8);
}捕获(例外e){
;
}
模板helloTemplate=engine.parse(内容);
返回helloTemplate;
}
@得到
@生成(MediaType.TEXT\u HTML)
public CompletionStage get(){
返回getTemplateFromFile(“templates/hello.html”).data(“msg”,“嗨!我在这里。”).renderAsync();
}
}