瞭解檢視模板
模型—檢視—控制器(MVC)軟體設計模式是用於在軟體應用程式內分離關注點的方法,原則上,應用程式邏輯或控制器與用於向使用者或檢視層顯示資訊的技術分離,該模型是控制器和檢視層之間的通訊工具。
在應用程式內,檢視層可以使用一種或多種不同的技術來渲染檢視,Spring基於Web的應用程式支援各種檢視選項,通常稱為檢視模板,這些技術被描述為“模板”,因為它們提供了一種標記語言,用於在伺服器端渲染期間公開檢視中的模型屬性。
檢視模板庫
以下檢視模板庫與Spring相容:
JSP和Thymeleaf比較
以下示例說明了如何使用JSP和Thymeleaf模板渲染相同的內容。
JSP
請注意此示例中的JSTL(JavaServer網頁標準標籤庫)表示式。
<c:url var="hotelsUrl" value="/hotels"/>
<form:form modelAttribute="searchCriteria" action="${hotelsUrl}" method="get" cssClass="inline">
<span class="errors span-18">
<form:errors path="*"/>
</span>
<fieldset>
<div class="span-8">
<label for="searchString">SeaString:</label>
<form:input id="searchString" path="searchString"/>
</div>
...
</fieldset>
</form:form>
Thymeleaf
在此示例中,標記與標準HTML整合。
<form action="#" th:object="${searchCriteria}" th:action="@{/hotels}" method="get" class="inline">
<ul th:if="${#fields.hasErrors(`*`)}" class="errors span-18">
<li th:each="err : ${#fields.errors(`*`)}" th:text="${err}">Input is incorrect</li>
</ul>
<fieldset>
<div class="span-8">
<label for="searchString">Search String:</label>
<input type="text" id="searchString" th:field="*{searchString}" />
</div>
...
</fieldset>
</form>