<!doctype html>
-<html xmlns:th="http://www.thymeleaf.org">
+<html xmlns:th="http://www.thymeleaf.org" th:replace="~{layout :: pagelayout(~{:: title}, ~{:: h1}, ~{:: table.card-text})}">
<head>
<title th:text="|${status}: ${error}">XXX: ERROR</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<h1 th:text="|${status}: ${error}">XXX: ERROR</h1>
- <table>
+ <table class="card-text table">
<tbody>
- <tr>
+ <tr class="border-top-0">
<th scope="row">Status</th>
<td th:text="${status}">ERROR.STATUS</td>
</tr>
<td th:text="${message}">ERROR.MESSAGE</td>
</tr>
<tr th:if="!${#strings.isEmpty(requestId)}">
- <th scope="row">Request-ID</th>
+ <th class="text-nowrap" scope="row">Request-ID</th>
<td th:text="${requestId}">ERROR.REQUEST_ID</td>
</tr>
<tr>
<tr th:if="!${#strings.isEmpty(trace)}">
<th scope="row">Trace</th>
<td>
- <div>
- <pre th:text="${trace}">ERROR.TRACE</pre>
+ <div class="overflow-hidden">
+ <pre class="overflow-hidden" th:text="${trace}">ERROR.TRACE</pre>
</div>
</td>
</tr>
<!--**/-->
</tbody>
</table>
- <p><a href="#" th:href="@{/}">Back to HOME</a>
+ <p><a href="#" th:href="@{/}" class="btn btn-primary">Back to HOME</a>
</div>
</body>
</html>
--- /dev/null
+<!doctype html>
+<html lang="en" xmlns:th="http://www.thymeleaf.org" th:fragment="pagelayout(title,header,body)">
+ <head>
+ <meta charset="utf-8">
+ <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
+ <title th:replace="${title}">TITLE</title>
+ <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">
+ </head>
+ <body>
+ <nav class="navbar navbar-dark bg-primary navbar-expand navbar-dark flex-column">
+ <h2 class="navbar-brand">Demo: Testing Exception-Handling With/In the Springframework</h2>
+ </nav>
+ <main class="container mt-5">
+ <div id="content" class="card">
+ <div class="card-header"><h1 th:replace="${header}">HEADER</h1></div>
+ <div class="card-body"><div th:replace="${body}">BODY</div></div>
+ </div>
+ </main>
+ </body>
+</html>
<!DOCTYPE HTML>
-<html xmlns:th="http://www.thymeleaf.org">
+<html xmlns:th="http://www.thymeleaf.org" th:replace="~{layout :: pagelayout(~{:: title}, ~{:: h1}, ~{:: div.card-text})}">
<head>
<title th:text="'503: ' + ${exception.getClass().getSimpleName()}">Testing Exception-Handling - Template for 503</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<h1 th:text="'503: ' + ${exception.getClass().getSimpleName()}">Template for 503</h1>
- <div>
+ <div class="card-text table">
<p><strong th:text="'Catched exception: ' + ${exception}">EXCEPTION</strong></p>
- <p><a href="#" th:href="@{/}">Back to HOME</a></p>
+ <p><a href="#" th:href="@{/}" class="btn btn-primary">Back to HOME</a></p>
</div>
</body>
</html>
<!DOCTYPE HTML>
-<html xmlns:th="http://www.thymeleaf.org">
+<html xmlns:th="http://www.thymeleaf.org" th:replace="~{layout :: pagelayout(~{:: title}, ~{:: h1}, ~{:: div.card-text})}">
<head>
<title>Template: view</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<h1>Deeep Thought</h1>
- <div th:switch="${answer}">
+ <div th:switch="${answer}" class="card-text">
<p th:case="null">
<strong>What is the answer to the ultimate question of life, the universe and everything?</strong>
</p>
<li>Outcome: <strong th:text="${outcome.get()}">OUTCOME</strong></li>
</ul>
</div>
- <div>
+ <div class="card-text">
<form action="#" th:action="@{/}" method="get">
- <div>
+ <div class="form-group">
<label for="answer">Answer:</label>
- <input type="text" name="answer" value="42" th:value="${answer}"/>
- <button type="submit">Submit</button>
+ <input type="text" name="answer" value="42" th:value="${answer}" class="form-control"/>
+ <button type="submit" class="btn btn-primary">Submit</button>
</div>
</form>
</div>