zoukankan      html  css  js  c++  java
  • jinjava一个不错的java jinja2 模版引擎

    参考使用

    • pom.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <groupId>com.dalong</groupId>
        <artifactId>myjinja2-demo</artifactId>
        <version>1.0-SNAPSHOT</version>
        <properties>
            <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
            <encoding>UTF-8</encoding>
            <java.version>1.8</java.version>
            <maven.compiler.source>1.8</maven.compiler.source>
            <maven.compiler.target>1.8</maven.compiler.target>
        </properties>
        <dependencies>
            <dependency>
                <groupId>com.hubspot.jinjava</groupId>
                <artifactId>jinjava</artifactId>
                <version>2.5.6</version>
            </dependency>
        </dependencies>
        <build>
            <!-- Maven Shade Plugin -->
            <finalName>mydemo-app</finalName>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-shade-plugin</artifactId>
                    <version>2.3</version>
                    <executions>
                        <!-- Run shade goal on package phase -->
                        <execution>
                            <phase>package</phase>
                            <goals>
                                <goal>shade</goal>
                            </goals>
                            <configuration>
                                <transformers>
                                    <!-- add Main-Class to manifest file -->
                                    <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                                        <mainClass>com.dalong.Application</mainClass>
                                    </transformer>
                                </transformers>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
        </build>
    </project>
    • 核心代码
    package com.dalong;
    import com.google.common.base.Charsets;
    import com.google.common.collect.Maps;
    import com.google.common.io.Resources;
    import com.hubspot.jinjava.Jinjava;
    import java.io.IOException;
    import java.util.Map;
    /**
     * @author dalong
     */
    public class Application {
        public static void main(String[] args) throws IOException {
            Jinjava jinjava = new Jinjava();
            Map<String, Object> context = Maps.newHashMap();
            context.put("name", "Jared");
            String template = Resources.toString(Resources.getResource("index.html"), Charsets.UTF_8);
            String renderedTemplate = jinjava.render(template, context);
            System.out.println(renderedTemplate);
        }
    }
    • 模版
      index.html
     
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>demo</title>
    </head>
    <body>
    {% include "my-template.html" %}
    </body>
    </html>

    my-template.html

    <div>Hello, {{ name }}!</div>
    <div>Hello, {{ name | ipaddr }}!</div>
    • 运行效果

    mvn clean package
    java -jar target/mydemo-app.jar

    参考资料

    https://github.com/HubSpot/jinjava

  • 相关阅读:
    博客搬家了,新域名dinphy.wang
    Win7 SP1 32位 旗舰版 IE8 快速稳定 纯净优化 无人值守 自动激活 20170518
    Win7 SP1 64位 旗舰版 IE8 快速稳定 纯净优化 无人值守 自动激活 20180604
    红米3 TWRP-3.2.1-0(android_7.1.2_r29) 刷8.1不提示错误 刷MIUI不再卡屏 修复无系统重启问题 更新于20180316
    SudaMod-81.0 / crDroidAndroid-8.1(android-8.1.0_r20)红米3 2018年5月3日更新
    windows 10专业版14393.447 64位纯净无广告版系统 基于官方稳定版1607制作 更新于20161112
    Deepin 15.5上安装 Node.js
    在github上搭建个人博客
    Deepin 系统下安装VMware并激活
    Windows 10 Version 1803 (Updated March 2018) MSDN 镜像下载
  • 原文地址:https://www.cnblogs.com/rongfengliang/p/14174832.html
Copyright © 2011-2022 走看看