Velocity JAVA引擎模板 (六) 输出到文件

x33g5p2x  于2021-12-24 转载在 其他  
字(1.2k)|赞(0)|评价(0)|浏览(264)

本文是【条件语句】demo

java

/** * 输出到文件 */
    @Test
    public void test6() throws IOException {

        //1 加载配置
        Properties properties = new Properties();
        properties.load(Test.class.getClassLoader().getResourceAsStream("velocity.properties"));
        Velocity.init(properties);

        //2 创建上下文对象
        VelocityContext context = new VelocityContext();

        //2 将数据对象添加到此上下文中
        context.put("title", "赵先森");
        context.put("body", "这是内容");

        //4选择模板
        Template template = Velocity.getTemplate("./src/test/resources/template/test5.vm");

        //4创建文件

        File saveFile = new File("D:\\idea_workspace\\hp-generator\\src\\test\\resources\\template\\test5.html");

        //获得它的父类文件,如果不存在,就创建
        if (!saveFile.getParentFile().exists()) {
            saveFile.getParentFile().mkdirs();
        }
        //创建文件输出流

        FileOutputStream outStream = new FileOutputStream(saveFile);
        //因为模板整合的时候,需要提供一个Writer,所以创建一个Writer
        OutputStreamWriter writer = new OutputStreamWriter(outStream);
        //创建一个缓冲流
        BufferedWriter bufferWriter = new BufferedWriter(writer);

        //5 合并模板和数据并输出

        template.merge(context, bufferWriter);

        //强制刷新
        bufferWriter.flush();

        outStream.close();

        bufferWriter.close();
    }

模板 test5.html

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>$title</title>
    </head>
    <body>
        $body
    </body>
</html>

相关文章