动漫区

国产 成人 在线

八月未央 自慰 Freemarker 教程

发布日期:2024-09-05 17:49    点击次数:63

八月未央 自慰 Freemarker 教程

FreeMarker是一款模板引擎:即一种基于模板和要转变的数据八月未央 自慰,并用来生成输出文本(HTML网页、电子邮件、成就文献、源代码等)的通用用具。它不是面向最终用户的,而是一个Java类库,是一款步调员不错镶嵌他们所诞坐蓐物的组件。

FreeMarker是免费的,基于Apache许可证2.0版块发布。其模板编写为FreeMarker Template Language(FTL),属于毛糙、专用的言语。需要准备数据在真确编程言语中来露馅,比如数据库查询和业务运算,之后模板露馅照旧准备好的数据。在模板中,主要用于怎样展现数据,而在模板以外珍贵于要展示什么数据。

官网地址:https://freemarker.apache.org/

上图中,FreeMarker 把柄输入的模版文献和数据(Java对象)生成输出,这里的输出不错使 HTML文献、文本文献、Java代码等。

在本教程中,您将学习到怎样使用 FreeMaker 来完成责任。主要施行如下:

学习 FreeMaker 的基础常识;

亚洲桃色网

怎样期骗 FreeMarker 杀青 HTML 页面,诞生我方的 Web 援用;

怎样期骗 FreeMarker 输出 Java 技俩诞生模版代码,举例:数据库的 CRUD 操作等;

怎样期骗 FreeMaker 动态生成成就文献;

怎样将 FreeMaker 集成到 Spring、Spring Boot 品级三方框架;

freemarker告白位

FreeMaker 实例

在风雅学习 FreeMarker 之前,咱们先望望一个极端毛糙的例子(FreeMaker Hello)。IDEA技俩结构如下图:

(1)加入 FreeMaker 的 Maven 依赖到你的技俩。

<!-- https://mvnrepository.com/artifact/org.freemarker/freemarker -->
<dependency>
    <groupId>org.freemarker</groupId>
    <artifactId>freemarker</artifactId>
    <version>2.3.23</version>
</dependency>

(2)模版文献,template.ftl 文献

${username}, 你好!
接待学习 FreeMaker 零基础教程

(3)Java 代码,Demo1.java 文献

package com.hxstrive.freemarker.demo1;

import freemarker.template.Configuration;
import freemarker.template.Template;
import freemarker.template.TemplateExceptionHandler;
import freemarker.template.Version;

import java.io.File;
import java.io.FileWriter;
import java.io.OutputStreamWriter;
import java.io.Writer;
import java.util.HashMap;
import java.util.Locale;
import java.util.Map;

public class Demo1 {

    public static void main(String[] args) throws Exception {
        // 1. Configure FreeMarker
        // You should do this ONLY ONCE, when your application starts,
        // then reuse the same Configuration object elsewhere.
        Configuration cfg = new Configuration(Configuration.VERSION_2_3_23);
        // Where do we load the templates from:
        cfg.setClassForTemplateLoading(Demo1.class, "/templates/");
        // Some other recommended settings:
        cfg.setDefaultEncoding("UTF-8");
        cfg.setLocale(Locale.CHINESE);
        cfg.setTemplateExceptionHandler(TemplateExceptionHandler.RETHROW_HANDLER);

        // 2. Proccess template(s)
        // You will do this for several times in typical applications.
        // 2.1. Prepare the template input:
        Map<String, Object> input = new HashMap<String, Object>();
        input.put("username", "www.hxstrive.com");

        // 2.2. Get the template
        Template template = cfg.getTemplate("template.ftl");

        // 2.3. Generate the output

        // Write output to the console
        Writer consoleWriter = new OutputStreamWriter(System.out);
        template.process(input, consoleWriter);

        // For the sake of example, also write output into a file:
        Writer fileWriter = new FileWriter(new File("output.txt"));
        try {
            template.process(input, fileWriter);
        } finally {
            fileWriter.close();
        }
    }

}

(4)输出施行,output.txt 文献

www.hxstrive.com, 你好!
接待学习 FreeMaker 零基础教程

上头实例展示了怎样去使用 FreeMaker 将数据 + 模版输出咱们需要的东西。这里将不会仔细分析实例中的 Java 代码八月未央 自慰,背面会有极端量备的先容。





Powered by 动漫区 @2013-2022 RSS地图 HTML地图

Copyright © 2013-2024