• vert.x学习(四),使用模板解析器ClassLoaderTemplateResolver


    在vert.x中使用模板解析,可以为我们带来很多方便。我这里学习了一下ClassLoaderTemplateResolver的简单使用。这次工程配置与上篇一样,不需要做任何多的配置。直接编写代码就可以了。

    编写HelloThymeleafResolver.java

    package com.javafm.vertx.helloworld;
    
    import io.vertx.core.Vertx;
    import io.vertx.core.http.HttpServer;
    import io.vertx.ext.web.Router;
    import io.vertx.ext.web.templ.ThymeleafTemplateEngine;
    import org.thymeleaf.templateresolver.ClassLoaderTemplateResolver;
    
    /**
     * Created by lemontea <36634584@qq.com> on 16-12-20.
     */
    public class HelloThymeleafResolver {
        public static void main(String[] args) {
            Vertx vertx = Vertx.vertx();
            HttpServer httpServer = vertx.createHttpServer();
            Router router = Router.router(vertx);
            ThymeleafTemplateEngine templateEngine = ThymeleafTemplateEngine.create();
            // 定时模板解析器,表示从类加载路径下找模板
            ClassLoaderTemplateResolver templateResolver = new ClassLoaderTemplateResolver();
            // 设置模板的前缀,我们设置的是templates目录
            templateResolver.setPrefix("templates");
            // 设置后缀为.html文件
            templateResolver.setSuffix(".html");
            templateResolver.setTemplateMode("HTML5");
            templateEngine.getThymeleafTemplateEngine().setTemplateResolver(templateResolver);
            router.route("/hello").handler(routingContext -> {
                routingContext.put("msg", "Hello ClassLoaderTemplateResolver!");
                // 这里render的第二个参数,就是模板文件名称,由于在Resolver里面设置了前缀和后缀这里就可以简写了
                templateEngine.render(routingContext, "/hello", res -> {
                    if (res.succeeded()) {
                        routingContext.response().putHeader("Content-Type", "text/html").end(res.result());
                    } else {
                        routingContext.fail(res.cause());
                    }
                });
    
            });
            httpServer.requestHandler(router::accept).listen(8080);
        }
    }

    模板文件继续沿用之前的resources/templates/hello.html,现在右键启动http服务,在浏览器中查看

    在附一张IDEA工程结构截图

    源代码可以从github clone:https://github.com/tjz101/vertxworld

    原创文章,转载请注明出处。

  • 相关阅读:
    06 | x86架构:有了开放的架构,才能打造开放的营商环境
    02 | 学习路径:爬过这六个陡坡,你就能对Linux了如指掌
    01 | 入学测验:你究竟对Linux操作系统了解多少?
    String、StringBuffer与StringBuilder区别
    JavaSE语言基础之字符串
    JavaSE语言基础之数组及其排序
    JavaSE语言基础之流程控制语句
    JavaSE语言基础之数据类型
    Java开发环境配置
    shell 脚本 自增
  • 原文地址:https://www.cnblogs.com/tangjizhong/p/6201785.html
Copyright © 2020-2023  润新知