Tomcat深入浅出——最终章(六) - lx-Meteor
source link: https://www.cnblogs.com/lx-meteor/p/16466506.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
- 利用了六天的时间,对Tomcat的内容进行了整理😊。
- 学习不易、整理也不易,自己坚持的更了下来,很不错🤫。
- 希望每一位在努力前行的小伙伴,都要相信坚持就会有收获😁。
- 本次Tomcat就探寻到这里,明年我还会更加深入的探寻一次,感兴趣的小伙伴可以关注一下😎。
一、Thymeleaf基本配置
- 众所周知Thymeleaf是SpringBoot官方推荐的模板引擎,那么为什么要放在Tomcat这里呢,因为JSP有点老~
- 至于是否还需要学习jsp,我也不清楚,反正我是学了,但是今天带给大家Thymeleaf知识小结。
- 附上官网文档链接https://www.thymeleaf.org/doc/tutorials/3.0/usingthymeleaf.html#what-is-thymeleaf
首先如果我们想在Tomcat里用thymeleaf,需要我们进行如下配置:
- 这里是项目所需要用到的jar包
- 下面我们进行配置信息
package com.meteor.thymeleaf;
import org.thymeleaf.TemplateEngine; import org.thymeleaf.context.WebContext; import org.thymeleaf.templatemode.TemplateMode; import org.thymeleaf.templateresolver.ServletContextTemplateResolver;
import javax.servlet.ServletContext; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.IOException;
public class ViewBaseServlet extends HttpServlet {
//定义私有模板引擎对象 private TemplateEngine templateEngine;
//重写init()方法(其是servlet的初始化方法) @Override public void init() throws ServletException { //1. 获取当前Servlet的ServletContext对象 ServletContext servletContext = this.getServletContext(); //2. 创建Thymeleaf解析器对象,其接收:一个ServletContext对象 ServletContextTemplateResolver templateResolver = new ServletContextTemplateResolver(servletContext); //3. 给解析器对象设置参数 //3.1 设置解析的模板模式, HTML是默认模式,明确设置是为了代码更容易理解 templateResolver.setTemplateMode(TemplateMode.HTML); //3.2 设置前缀 String viewPrefix = servletContext.getInitParameter("view-prefix"); templateResolver.setPrefix(viewPrefix); //3.3 设置后缀 String viewSuffix = servletContext.getInitParameter("view-suffix"); templateResolver.setSuffix(viewSuffix); //3.4 设置缓存过期时间(毫秒) templateResolver.setCacheTTLMs(60000L); //3.5 设置是否缓存 templateResolver.setCacheable(false); //3.6 设置服务器端编码方式 templateResolver.setCharacterEncoding("utf-8");
//4. 实例化模板引擎对象 templateEngine = new TemplateEngine();
//5. 给模板引擎对象设置模板解析器对象 templateEngine.setTemplateResolver(templateResolver); }
//创建处理模板文件的函数 protected void processTemplate(String templateName, HttpServletRequest req, HttpServletResponse resp) throws IOException{ //1. 设置响应体内容类型和字符集 resp.setContentType("text/html;charset=UTF-8"); //2. 创建WebContext对象 WebContext webContext = new WebContext(req,resp,getServletContext()); //3. 处理模板数据 templateEngine.process(templateName,webContext,resp.getWriter()); } }
- 在web.xml中配种context
- 最后我们就可以进入测试环节了
- 其实这些配置在我们的官方文档中都有,推荐大家学会跟着官方文档学习👻。
二、Thymeleaf常用语法
加入<html xmlns:th="http://www.thymeleaf.org">
规范
2.1 标准变量表达式
<p th:text="欢迎Thymeleaf">Hello~</p> <h1 th:text="${msg}">msg会替换这个信息/h1>
<!-- 可以将传过来的对象,简写成这样--> <div th:object="${user}"> <p th:text="*{id}">id</p> <p th:text="*{name}">name</p> </div>
<!-- 连接表达式--> <a th:href="@{/stu/student(id=20,name='lx')}" <img src="" th:src="@{${图片地址}}" alt="">
2.2 each
2.3 if
2.4 switch
2.5 th:inline
<div th:inline="text"> <p>显示姓名:[[${key}]]</p> </div>
<script type="text/javascript" th:inline="javascript"> alert("获取模板数据" + [[${method}]]); </script>
<p th:text=" '我是' + ${name} + ',喜欢听他的' + ${music}"> 显示数据 </p>
2.6 内置对象
-
#request 表示 HttpServletRequest
-
#session 表示 HttpSession对象
-
session 表示 HttpSession对象,是#session简化的一种方式
- 对于Tomcat的Servlet内容就总结这么多,若想深入学习等待后续更新。
- 我将会继续更新关于Java方向的学习知识,感兴趣的小伙伴可以关注一下。
- 文章写得比较走心,用了很长时间,绝对不是copy过来的!
- 尊重每一位学习知识的人,同时也尊重每一位分享知识的人。
- 😎你的点赞与关注,是我努力前行的无限动力。🤩
__EOF__
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK