Spring 指南(瞭解視圖模板)

瞭解視圖模板

模型—視圖—控制器(MVC)軟件設計模式是用於在軟件應用程序內分離關注點的方法,原則上,應用程序邏輯或控制器與用於向用戶或視圖層顯示信息的技術分離,該模型是控制器和視圖層之間的通訊工具。css

在應用程序內,視圖層可使用一種或多種不一樣的技術來渲染視圖,Spring基於Web的應用程序支持各類視圖選項,一般稱爲視圖模板,這些技術被描述爲「模板」,由於它們提供了一種標記語言,用於在服務器端渲染期間公開視圖中的模型屬性。html

視圖模板庫

如下視圖模板庫與Spring兼容:java

JSP和Thymeleaf比較

如下示例說明了如何使用JSP和Thymeleaf模板渲染相同的內容。apache

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>
相關文章
相關標籤/搜索