ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

怎么把thymeleaf加到maven里面?

2022-04-25 08:01:45  阅读:265  来源: 互联网

标签:java topics 加到 maven thymeleaf resolver import org


首先,我们先搞清楚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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有