导入maven依赖
org.thymeleaf thymeleaf3.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 的数据 ListcourseList = 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 方向的课程列表
最终效果
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)