栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Thymeleaf模板技术

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Thymeleaf模板技术

导入maven依赖


      org.thymeleaf
      thymeleaf
      3.0.12.RELEASE

使用模板优势

1.代码简单清晰

2.数据和逻辑耦合度低(html和java代码分离)

模板的逻辑结构

Thymeleaf简单使用

@WebServlet("/template-demo")
public class TemplateDemoServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        // 1. 创建模板引擎对象
        TemplateEngine engine = new TemplateEngine();

        // 2. 创建解析器对象
        ServletContext servletContext = req.getServletContext();

        ServletContextTemplateResolver resolver = new ServletContextTemplateResolver(servletContext);
        resolver.setTemplateMode(TemplateMode.HTML);
        resolver.setCharacterEncoding("utf-8");
        resolver.setPrefix("/WEB-INF/templates/");
        resolver.setSuffix(".html");
        resolver.setCacheable(false);

        // 3. 关联解析器对象到引擎对象上
        engine.setTemplateResolver(resolver);

        // 4. 提供给模板引擎本次解析的上下文对象
        WebContext webContext = new WebContext(req, resp, servletContext);

        // 5. 准备好要放入 Context 的数据
        List courseList = getCourseList();
        webContext.setVariable("courseList", courseList);

        // 6. 通过模板引擎生成最终的正文内容
        String responseBody = engine.process("course-list", webContext);

        // 7. 填充响应对象
        resp.setCharacterEncoding("utf-8");
        resp.setContentType("text/html");
        resp.getWriter().println(responseBody);
    }

    private List getCourseList() {
        return Arrays.asList("JavaSE", "JavaDS", "JavaDB", "JavaWeb", "JavaTest", "JavaEE");
    }
}

对应的/WEB-INF/templates/下的course-list.html




    
    
    
    课程列表


    Java 方向的课程列表
    

最终效果

 

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/692097.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号