1. 程式人生 > >SpringBoot入門06-Thymeleaf顯示作用域物件種的物件

SpringBoot入門06-Thymeleaf顯示作用域物件種的物件

 

作用域物件request,session, servletContext中的資料在Thymeleaf中的顯示都是相同的

作用域物件中的 List和Set的集合在html中的顯示是相同的

作用域物件中的顯示字串或基本型別是相同的

 

springboot中怎樣使用session?

方式一,使用註解@SessionAttributes確定鍵,然後用ModerAndView物件新增對應的值後返回頁面

方式二 處理方法中使用引數HttpSession

 

springboot怎樣獲取ServletContext

方法一 request獲取servletContext

ServletContext servletContext = request.getServletContext();

 

方法二 使用ContextLoader

ServletContext servletContext = ContextLoader.getCurrentWebApplicationContext().getServletContext();

 

方法三 使用spring注入自動注入

@Autowired private ServletContext servletContext;

 

在Thymeleaf中顯示作用域物件字串或基本型別

將要顯示的物件設定在標籤內部,就算標籤內部有內容也會被替換掉, 也可以使用不存在的標籤替換

設定方式:${name}

設定為標籤屬性的值,要在屬性前面加上"th:"

 1 modelAndView.addObject("i", 100);
 2 -----------------------------------------------------------------
 3 <span th:text="${i}"></span>
 4 <div th:text="${i}"></div>
 5 <h1 th:text="${i}"
></h1> 6 <wgr style="color: red;" th:text="${i}"></wgr> 7 <span style="color: red;" th:text="${i}"></span> 8 <div style="color: red;" th:text="${i}"></div> 9 <h1 style="color: red;" th:text="${i}"></h1> 10 <wgr style="color: red;" th:text="${i}"></wgr> <br /> 11 <input type="text" th:value="${i}" /> 12 <input type="submit" th:value="${i}"/> 13 <input type="text" th:id="${i}" />

 

物件

1 modelAndView.addObject("stu", new Stu(1, "小明", 12));    
2 
3 ---------------------------------------------------------
4 
5     <span th:text="${stu.id}"> </span>
6 
7     <span th:text="${stu.name}"> </span>
8 
9     <span th:text="${stu.age}"> </span>

 

集合遍歷

1 List<String> strList = new ArrayList<>();
2 strList.add("小明");
3 strList.add("小華");
4 strList.add("小陶");
5 modelAndView.addObject("strList", strList);
6 ---------------------------------------------------------    
7 <div th:each="str:${strList}"> //div可以改為任意的容器標籤,甚至是不存在的標籤
8      <span style="color: red;" th:text="${str}"></span> <br />
9 </div>

 

 

顯示session和ServletContext中資料

預設顯示request中資料,

顯示session中資料要加上 session字首

顯示servletContext中資料要加上application字首

 1 //裝到request
 2 request.setAttribute("requestAge", 100);
 3 //裝到session
 4 session.setAttribute("sessionName", "小明");
 5 //裝到ServletContext
 6 servletContext.setAttribute("applicationNum", 1);
 7 --------------------------------------------------------------------------------------
 8 request中: 
 9     <span style="color: red;" th:text="${requestAge}"></span><br />
10 session中: 
11     <span style="color: red;" th:text="${session.sessionName}"></span><br />
12 servletContext中:
13     <span style="color: red;" th:text="${application.applicationNum}"></span><br />