mirror of
https://github.com/spring-projects/spring-security.git
synced 2025-05-31 17:22:13 +00:00
184 lines
6.6 KiB
XML
184 lines
6.6 KiB
XML
<?xml version="1.0" encoding="UTF-8" ?>
|
|
<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page"
|
|
|
|
xmlns:form="http://www.springframework.org/tags/form"
|
|
xmlns:c="http://java.sun.com/jsp/jstl/core" version="2.0">
|
|
|
|
<jsp:directive.page contentType="text/html" pageEncoding="UTF-8" />
|
|
<jsp:output omit-xml-declaration="true" />
|
|
<jsp:output doctype-root-element="HTML"
|
|
doctype-system="about:legacy-compat" />
|
|
<html lang="en">
|
|
<head>
|
|
<title>SecureMail</title>
|
|
<c:url var="faviconUrl" value="/resources/img/favicon.ico"/>
|
|
<link rel="icon" type="image/x-icon" href="${faviconUrl}"/>
|
|
<c:url var="bootstrapUrl" value="/resources/css/bootstrap.css"/>
|
|
<link href="${bootstrapUrl}" rel="stylesheet"></link>
|
|
<style type="text/css">
|
|
/* Sticky footer styles
|
|
-------------------------------------------------- */
|
|
|
|
html,
|
|
body {
|
|
height: 100%;
|
|
/* The html and body elements cannot have any padding or margin. */
|
|
}
|
|
|
|
/* Wrapper for page content to push down footer */
|
|
#wrap {
|
|
min-height: 100%;
|
|
height: auto !important;
|
|
height: 100%;
|
|
/* Negative indent footer by it's height */
|
|
margin: 0 auto -60px;
|
|
}
|
|
|
|
/* Set the fixed height of the footer here */
|
|
#push,
|
|
#footer {
|
|
height: 60px;
|
|
}
|
|
#footer {
|
|
background-color: #f5f5f5;
|
|
}
|
|
|
|
/* Lastly, apply responsive CSS fixes as necessary */
|
|
@media (max-width: 767px) {
|
|
#footer {
|
|
margin-left: -20px;
|
|
margin-right: -20px;
|
|
padding-left: 20px;
|
|
padding-right: 20px;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/* Custom page CSS
|
|
-------------------------------------------------- */
|
|
/* Not required for template or sticky footer method. */
|
|
|
|
.container {
|
|
width: auto;
|
|
max-width: 680px;
|
|
}
|
|
.container .credit {
|
|
margin: 20px 0;
|
|
text-align: center;
|
|
}
|
|
a {
|
|
color: green;
|
|
}
|
|
.navbar-form {
|
|
margin-left: 1em;
|
|
}
|
|
</style>
|
|
<c:url var="bootstrapResponsiveUrl" value="/resources/css/bootstrap-responsive.css"/>
|
|
<link href="${bootstrapResponsiveUrl}" rel="stylesheet"></link>
|
|
|
|
<!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
|
|
<!--[if lt IE 9]>
|
|
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
|
|
<![endif]-->
|
|
<meta name="_csrf" content="${_csrf.token}"/>
|
|
<meta name="_csrf_header" content="${_csrf.headerName}"/>
|
|
</head>
|
|
|
|
|
|
<body>
|
|
<div id="wrap">
|
|
<div class="navbar navbar-inverse navbar-static-top">
|
|
<div class="navbar-inner">
|
|
<div class="container">
|
|
<a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
|
|
<span class="icon-bar"></span>
|
|
<span class="icon-bar"></span>
|
|
<span class="icon-bar"></span>
|
|
</a>
|
|
<c:url var="homeUrl" value="/"/>
|
|
<c:url var="logoUrl" value="/resources/img/logo.png"/>
|
|
<a class="brand" href="${homeUrl}"><img src="${logoUrl}" alt="Spring Security Sample"/></a>
|
|
<div class="nav-collapse collapse">
|
|
<c:if test="${pageContext.request.remoteUser != null}">
|
|
<c:url var="logoutUrl" value="/logout"/>
|
|
<form:form class="navbar-form pull-right" action="${logoutUrl}" method="post"><input type="submit" value="Log out" /></form:form>
|
|
<p class="navbar-text pull-right">
|
|
<c:out value="${pageContext.request.remoteUser}"/>
|
|
</p>
|
|
</c:if>
|
|
<ul class="nav">
|
|
<c:url var="inboxUrl" value="/"/>
|
|
<li><a data-bind="click: $root.goToInbox" href="${inboxUrl}">Inbox</a></li>
|
|
<c:url var="composeUrl" value="/?form"/>
|
|
<li><a data-bind="click: $root.goToCompose" href="${composeUrl}">Compose</a></li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!-- Begin page content -->
|
|
<div class="container">
|
|
<div data-bind="with: inbox">
|
|
<h1>Inbox</h1>
|
|
<table class="table">
|
|
<thead>
|
|
<tr>
|
|
<th>Created</th>
|
|
<th>Summary</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody data-bind="foreach: $root.messages">
|
|
<tr data-bind="click: $root.goToMessage">
|
|
<td data-bind="text: created"></td>
|
|
<td><a data-bind="text: summary, attr: { href: id}"></a></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
|
|
<div class="container" data-bind="with: chosenMessageData">
|
|
<h1>Message : <span data-bind="text: summary"></span></h1>
|
|
<dl>
|
|
<dt>Created</dt>
|
|
<dd data-bind="text: created"></dd>
|
|
<dt>Message</dt>
|
|
<dd data-bind="html: text"></dd>
|
|
</dl>
|
|
</div>
|
|
|
|
<div class="container" data-bind="with: compose">
|
|
<h1>Messages : Create</h1>
|
|
<div class="alert alert-error" data-bind="foreach: $root.errors, visible: $root.errors().length">
|
|
<li data-bind="text: $data"></li>
|
|
</div>
|
|
<form action="./" method="post">
|
|
<label for="summary">Summary</label>
|
|
<input type="text" id="summary" data-bind="value: summary" name="summary" class="input-xxlarge" />
|
|
<label for="text">Message</label>
|
|
<textarea name="text" id="text" data-bind="value: text" class="input-xxlarge"><!-- --></textarea>
|
|
<div class="form-actions">
|
|
<input type="button" data-bind="click: $root.save" value="Create" />
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
|
|
<div id="push"><!-- --></div>
|
|
</div>
|
|
|
|
<div id="footer">
|
|
<div class="container">
|
|
<p class="muted credit">Visit the <a href="#">Spring Security</a> site for more <a href="#">samples</a>.</p>
|
|
</div>
|
|
</div>
|
|
|
|
<c:url value="/resources/js/jquery-1.8.3.js" var="jqueryUrl" />
|
|
<script type="text/javascript" src="${jqueryUrl}"><!-- --></script>
|
|
<c:url value="/resources/js/knockout-2.3.0.js" var="knockoutUrl" />
|
|
<script type="text/javascript" src="${knockoutUrl}"><!-- --></script>
|
|
<c:url value="/resources/js/message.js" var="messageUrl" />
|
|
<script type="text/javascript" src="${messageUrl}"><!-- --></script>
|
|
</body>
|
|
</html>
|
|
</jsp:root> |