pom.xml:
org.thymeleaf
thymeleaf
3.0.12.RELEASE
javax.servlet
javax.servlet-api
4.0.1
provided
WebListener.java
@WebListener
public class ThymeleafListener implements ServletContextListener {
@Override
public void contextInitialized(ServletContextEvent sce) {
ServletContext sctx = sce.getServletContext();
ServletContextTemplateResolver resolver = new ServletContextTemplateResolver(sctx);
resolver.setPrefix("/WEB-INF/templates/");
resolver.setCharacterEncoding("utf-8");
resolver.setTemplateMode(TemplateMode.HTML);
TemplateEngine engine = new TemplateEngine();
engine.setTemplateResolver(resolver);
sctx.setAttribute("engine",engine);
}
@Override
public void contextDestroyed(ServletContextEvent sce) {
ServletContextListener.super.contextDestroyed(sce);
}
}
Servlet.java
@WebServlet("/")
public class Index extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
ServletContext sctx = req.getServletContext();
TemplateEngine engine = (TemplateEngine)sctx.getAttribute("engine");
resp.setCharacterEncoding("utf-8");
req.setAttribute("name","张三丰");
req.setAttribute("info","hello");
WebContext context = new WebContext(req,resp,sctx);
engine.process("index.html",context,resp.getWriter());
}
protected void hello(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.setCharacterEncoding("utf-8");
resp.setContentType("text/html;charset=utf-8");
PrintWriter out = resp.getWriter();
out.println("");
out.println("");
out.println("");
out.println("");
out.println("玉灵 QQ:7031633 Email:webrx@126.com");
out.println("");
out.println("");
out.println("");
out.println("");
out.println("Hello World 中文效果");
out.println("");
out.println("");
out.flush();
out.close();
}
}
/WEB-INF/templates/index.html 模板文件
DOCTYPE html>
玉灵 QQ:7031633 Email:webrx@126.com
[[${3*3 == 9 ? 'yes9' : 'nonono...'}]]
[[${2*3}]]
[[${info}]] ---- [(${info})]