layout.html 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. <!DOCTYPE html SYSTEM "https://www.thymeleaf.org/dtd/xhtml1-strict-thymeleaf-spring4-3.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml"
  3. xmlns:th="https://www.thymeleaf.org">
  4. <head th:fragment="head(title,links)">
  5. <title>SecureMail: <th:block th:include="${title}"></th:block></title>
  6. <link rel="icon" type="image/x-icon" th:href="@{/resources/img/favicon.ico}" href="../resources/img/favicon.ico"/>
  7. <link th:href="@{/resources/css/bootstrap.css}" href="../resources/css/bootstrap.css" rel="stylesheet"></link>
  8. <style type="text/css">
  9. /* Sticky footer styles
  10. -------------------------------------------------- */
  11. html,
  12. body {
  13. height: 100%;
  14. /* The html and body elements cannot have any padding or margin. */
  15. }
  16. /* Wrapper for page content to push down footer */
  17. #wrap {
  18. min-height: 100%;
  19. height: auto !important;
  20. height: 100%;
  21. /* Negative indent footer by it's height */
  22. margin: 0 auto -60px;
  23. }
  24. /* Set the fixed height of the footer here */
  25. #push,
  26. #footer {
  27. height: 60px;
  28. }
  29. #footer {
  30. background-color: #f5f5f5;
  31. }
  32. /* Lastly, apply responsive CSS fixes as necessary */
  33. @media (max-width: 767px) {
  34. #footer {
  35. margin-left: -20px;
  36. margin-right: -20px;
  37. padding-left: 20px;
  38. padding-right: 20px;
  39. }
  40. }
  41. /* Custom page CSS
  42. -------------------------------------------------- */
  43. /* Not required for template or sticky footer method. */
  44. .container {
  45. width: auto;
  46. max-width: 680px;
  47. }
  48. .container .credit {
  49. margin: 20px 0;
  50. text-align: center;
  51. }
  52. a {
  53. color: green;
  54. }
  55. .navbar-form {
  56. margin-left: 1em;
  57. }
  58. </style>
  59. <link th:href="@{resources/css/bootstrap-responsive.css}" href="/resources/css/bootstrap-responsive.css" rel="stylesheet"></link>
  60. <!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
  61. <!--[if lt IE 9]>
  62. <script src="https://html5shim.googlecode.com/svn/trunk/html5.js"></script>
  63. <![endif]-->
  64. <th:block th:replace="${links}"/>
  65. </head>
  66. <body th:fragment="body">
  67. <div id="wrap">
  68. <div class="navbar navbar-inverse navbar-static-top">
  69. <div class="navbar-inner">
  70. <div class="container">
  71. <a class="brand" th:href="@{/}"><img th:src="@{/resources/img/logo.png}" alt="Spring Security Sample"/></a>
  72. <div class="nav-collapse collapse">
  73. <div th:if="${#httpServletRequest.remoteUser != null}">
  74. <form class="navbar-form pull-right" th:action="@{/logout}" method="post">
  75. <input type="submit" value="Log out" />
  76. </form>
  77. <p class="navbar-text pull-right" th:text="${#httpServletRequest.remoteUser}">
  78. sample_user
  79. </p>
  80. </div>
  81. <ul class="nav">
  82. <li><a th:href="@{/}">Inbox</a></li>
  83. <li><a th:href="@{/(form)}">Compose</a></li>
  84. </ul>
  85. </div>
  86. </div>
  87. </div>
  88. </div>
  89. <!-- Begin page content -->
  90. <div class="container">
  91. <div class="alert alert-success"
  92. th:if="${globalMessage}"
  93. th:text="${globalMessage}">
  94. Some Success message
  95. </div>
  96. <div th:replace="${content}">
  97. Fake content
  98. </div>
  99. </div>
  100. <div id="push"><!-- --></div>
  101. </div>
  102. <div id="footer">
  103. <div class="container">
  104. <p class="muted credit">Visit the <a href="https://spring.io/spring-security">Spring Security</a> site for more <a href="https://github.com/spring-projects/spring-security/blob/master/samples/">samples</a>.</p>
  105. </div>
  106. </div>
  107. </body>
  108. </html>