日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Thymeleaf视图

發布時間:2023/12/10 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Thymeleaf视图 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一:添加thymeleaf.jar包

二:新建一個Servlet類的ViewBaseServlet

package myssm.mySpringMVC;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;@Overridepublic void init() throws ServletException {// 1.獲取ServletContext對象ServletContext servletContext = this.getServletContext();// 2.創建Thymeleaf解析器對象ServletContextTemplateResolver templateResolver = new ServletContextTemplateResolver(servletContext);// 3.給解析器對象設置參數// ①HTML是默認模式,明確設置是為了代碼更容易理解templateResolver.setTemplateMode(TemplateMode.HTML);// ②設置前綴String viewPrefix = servletContext.getInitParameter("view-prefix");templateResolver.setPrefix(viewPrefix);// ③設置后綴String viewSuffix = servletContext.getInitParameter("view-suffix");templateResolver.setSuffix(viewSuffix);// ④設置緩存過期時間(毫秒)templateResolver.setCacheTTLMs(60000L);// ⑤設置是否緩存templateResolver.setCacheable(true);// ⑥設置服務器端編碼方式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中添加配置

prefix前綴、suffix后綴

<context-param><param-name>view-prefix</param-name><param-value>/</param-value></context-param><context-param><param-name>view-suffix</param-name><param-value>.html</param-value></context-param>

四:servlet繼承ViewBaseServlet

啟動處(super.process)

public class IndexServlet extends ViewBaseServlet {@Overrideprotected void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {FruitDAO fruitDAO = new FruitDAOImpl();List<Fruit> fruitList = fruitDAO.getFruitList();//保存到session作用域HttpSession session = req.getSession();session.setAttribute("fruitList",fruitList);//template:index 視圖名稱//thymeleaf會將這個邏輯視圖名稱對應到物理視圖名稱上//邏輯視圖名稱:index//物理視圖名稱:view-prefix+邏輯視圖名稱+view-suffix//真實的視圖名稱: / index .htmlsuper.processTemplate("index",req,resp);}

五:根據邏輯視圖名稱和物理視圖名稱得到真實的視圖名稱

//template:index 視圖名稱//thymeleaf會將這個邏輯視圖名稱對應到物理視圖名稱上//邏輯視圖名稱:index//物理視圖名稱:view-prefix+邏輯視圖名稱+view-suffix//真實的視圖名稱: / index .html

<tr th:if="${#lists.isEmpty(session.fruitList)}"><td colspan="4">對不起,庫存為空!</td></tr><tr th:unless="${#lists.isEmpty(session.fruitList)}" th:each="fruit : ${session.fruitList}"><td th:text="${fruit.fname}">蘋果</td><td th:text="${fruit.price}">5</td><td th:text="${fruit.fcount}">20</td><td><img src="imgs/del.jpg" class="delImg"/></td></tr>

總結

以上是生活随笔為你收集整理的Thymeleaf视图的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。