其他分享
首页 > 其他分享> > 怎么把thymeleaf加到maven里面?

怎么把thymeleaf加到maven里面?

作者:互联网

首先,我们先搞清楚maven里面的每一个项目是做什么用的。

所有 POM 文件都需要 project 元素和三个必需字段:groupId,artifactId,version。

节点描述
project 工程的根标签。
modelVersion 模型版本需要设置为 4.0。
groupId 这是工程组的标识。它在一个组织或者项目中通常是唯一的。例如,一个银行组织 com.companyname.project-group 拥有所有的和银行相关的项目。
artifactId 这是工程的标识。它通常是工程的名称。例如,消费者银行。groupId 和 artifactId 一起定义了 artifact 在仓库中的位置。
version

这是工程的版本号。在 artifact 的仓库中,它用来区分不同的版本。例如:

com.company.bank:consumer-banking:1.0
com.company.bank:consumer-banking:1.1

 

在使用maven的时候记得,要把1.7改成1.8

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
</properties>

<dependencies><dependency>:依赖,在这里我们可以添加各种新的library,比如thymeleaf。

maven有一个默认测试的dependencies。

<dependencies>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.11</version>
        <scope>test</scope>
    </dependency>
</dependencies>

<plugins>是放置插件的,添加这样的插件,

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>exec-maven-plugin</artifactId>
    <version>3.0.0</version>
    <configuration>
        <mainClass>org.example.App</mainClass>
    </configuration>
</plugin>

就可以用

mvn exec:java

来运行你的项目。

请注意,重要的一行是mainClass您使用main()函数设置为类的全名(带有路径组件)。

 

接下来,来进行实际的操作。

1. 打开一个 shell(windows CMD 也可以)并输入mvn archetype:generate.     ——自动开始下载一个默认原始包

2. 随便设置一下

groupId: org.example
artifactId: project
version: 0.1

3. 更改version

4. 添加插件<plugins>

5. mvn compile 编译(每次更新你的源文件都要编译一遍)

6. mvn clean(删除上一次的)

7. mvn exec:java ——"Hello World!"

8. mvn test 会跑src/test/java

9. 添加thymeleaf ——https://mvnrepository.com/artifact/org.thymeleaf/thymeleaf

<!-- https://mvnrepository.com/artifact/org.thymeleaf/thymeleaf -->
<dependency>
    <groupId>org.thymeleaf</groupId>
    <artifactId>thymeleaf</artifactId>
    <version>3.1.0.M1</version>
</dependency>

添加到依赖项,然后 mvn compile 编译

10. make a template file called unit in the folder src/main/resources/templates (you will have to create the folder first), and put the following lines in it:

Unit: [(${name})]

In this unit, you will learn about:

[# th:each="topic: ${topics}"]
  - [(${topic})]
[/]

11. 在源文件(App.java)里面输入:

import java.util.List;
import java.util.Arrays;

import org.thymeleaf.TemplateEngine;
import org.thymeleaf.context.Context;
import org.thymeleaf.templatemode.TemplateMode;
import org.thymeleaf.templateresolver.ClassLoaderTemplateResolver;

以及代码:

ClassLoaderTemplateResolver resolver = new ClassLoaderTemplateResolver();
resolver.setTemplateMode(TemplateMode.TEXT);
resolver.setPrefix("templates/");

TemplateEngine engine = new TemplateEngine();
engine.setTemplateResolver(resolver);

Context c = new Context();
c.setVariable("name", "Software Tools");
List<String> topics = Arrays.asList("Linux", "Git", "Maven");
c.setVariable("topics", topics);
String greeting = engine.process("unit", c);

System.out.println(greeting);
package org.example;

import java.util.List;
import java.util.Arrays;

import org.thymeleaf.TemplateEngine;
import org.thymeleaf.context.Context;
import org.thymeleaf.templatemode.TemplateMode;
import org.thymeleaf.templateresolver.ClassLoaderTemplateResolver;

public class App
{
    public static void main( String[] args )
    {
        ClassLoaderTemplateResolver resolver = new ClassLoaderTemplateResolver();
        resolver.setTemplateMode(TemplateMode.TEXT);
        resolver.setPrefix("templates/");

        TemplateEngine engine = new TemplateEngine();
        engine.setTemplateResolver(resolver);

        Context c = new Context();
        c.setVariable("name", "Software Tools");
        List<String> topics = Arrays.asList("Linux", "Git", "Maven");
        c.setVariable("topics", topics);
        String greeting = engine.process("unit", c);

        System.out.println(greeting);

    }
}

12. mvn compile

13. mvn exec:java

Unit: Software Tools

In this unit, you will learn about:

  - Linux
  - Git
  - Maven
  1. 模板解析器(template resolver)是一个类,当你给它一个名字(unit)时,它会找到一个模板(template)。在这种情况下,我们使用从类路径(classpath)加载的解析器(resolver),因此我们只需将模板文件放在src/main/resources; 我们告诉它我们希望将模板文件视为文本(例如,不是 HTML),并且模板文件位于名为templates.
  2. 模板引擎(template engine)是在解析器找到源文件后执行渲染模板工作的类。
  3. 要呈现模板(template),您需要解析器查找的模板名称和上下文 - 您可以在其上设置键/值参数的对象。在这种情况下,我们将键“名称”设置为“软件工具”,将键“主题”设置为三个主题的列表。键的名称和类型显然必须与模板文件中的内容相匹配。

 

练习:通过创建一个单元类来重写这个示例,使其更加面向对象:

public class Unit {
    private String name;
    private List<String> topics;
    public Unit(String name, List<String> topics) {
        this.name = name;
        this.topics = topics;
    }
    public String getName() { return this.name; }
    public List<String> getTopics() { return this.topics; }
}

(重新编辑unit和App.java)

 

标签:java,topics,加到,maven,thymeleaf,resolver,import,org
来源: https://www.cnblogs.com/changethewld/p/16188601.html