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>
相关文章
相关标签/搜索