Thymeleaf 3 + Spring 4 - 异常处理模板,发生了什么?

时间:2016-08-30 14:07:58

标签: java html css spring thymeleaf

我正在使用Spring 4和Thymeleaf 3开发一款新应用。

我的LoginController.java具有以下映射:

@RequestMapping(value = { "/", "/home", "/welcome" }, method = RequestMethod.GET)
public String index(Principal principal) {

    //logs debug message
    if(logger.isDebugEnabled()){
        logger.debug("getWelcome is executed!");
    }
    return principal != null ? "home/homeSignedIn" : "home/homeNotSignedIn";
}

因此,当我访问应用程序时,未登录被调用页面的是home/homeNotSignedIn.html,这是在下面发布的。

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org" 
      xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout" 
      layout:decorate="fragments/app">

<head>
    <title th:text="#{view.index.title}">Welcome!</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
</head>
<body>
    <div layout:fragment="content">
        <div class="container2">
            <th:block th:if="${message != null}">
                <div th:replace="fragments/alert :: alertFragment (type=${#strings.toLowerCase(message.type)}, message=${message.message})">&nbsp;</div>
            </th:block>
            <p />
            <p />
              <a href="/login" th:href="@{/login}" class="btn btn-large btn-success">Sign up</a>
            <p />
        </div>
    </div>
</body>
</html>

此页面直接引用名为app.html的文件,其中包含应用程序的布局,如下所示。

                                                                                                                                                   

我基本上有两个问题。

1)Thymeleaf对此表示不满:

SEVERE: Servlet.service() for servlet [dispatcher] in context with path [/cms-stock] threw exception [Request processing failed; nested exception is org.thymeleaf.exceptions.TemplateInputException: An error happened during template parsing (template: "ServletContext resource [/WEB-INF/templates/home/homeNotSignedIn.html]")] with root cause
java.lang.IllegalArgumentException: layout:decorate/data-layout-decorate must appear in the root element of your template

2)也许与1)相关,我没有加载CSS或JS。

我已经将这个应用程序作为Spring-boot启动了,可能对我来说非常愚蠢,我无法让它运行。然后,调整了另一个应用中的工作pom.xml,得到了问题2,进一步描述了here

我在这里不知所措。请指教!

0 个答案:

没有答案