Если у вас есть форма входа в Spring, которая использует WebFont. Когда я отправляю форму входа в систему в первый раз, браузер предлагает .ttf
версию веб-шрифта для загрузки. Если я тогда прерву загрузку и снова нажму кнопку отправки, логин сработает, и я буду перенаправлен. Эта ошибка воспроизводится в IE 8 и 9 при каждом входе в систему (что неудивительно) и в FF 10 только после очистки кэша. Это происходит только с методом, установленным для публикации. Get прекрасно работает, но это, очевидно, не решение для формы входа ...
Любая идея о том, что может быть причиной, будет полезна.
Код довольно прост:
Вот файл CSS:
@charset "utf-8";
/* first for IE 6/7/8 */
@font-face {
font-family: KievitWebProBook;
src: url(/fonts/KievitWebPro-Book.eot);
src: url(/fonts/KievitWebPro-Book.eot?) format('eot'),
url(/fonts/KievitWebPro-Book.woff) format('woff'),
url(/fonts/KievitOffcPro-Book.ttf) format('truetype');
}
body { font-family: KievitWebProBook, sans-serif; }
div.logo { margin-left: auto; margin-right: 150px; margin-top: 100px; text-align: right; }
div.header { width: 90%; margin: 0px auto 20px auto; color: #788995; font-size: 24px; padding-left: 300px;}
div.divider { width: 90%; margin-left: auto; margin-right: auto; height: 5px; background-image: url(/images/gradient5px.png); background-repeat: repeat-x;}
table { margin-top: 40px; margin-left: 300px; width: 330px; background-color: #eaedef; padding: 10px;}
td.header { text-align: center; font-size: large; padding: 5px; }
td.error { color: #0076ae; font-size: small; }
td.errorcode { color: #98a5ae; font-size: small; text-align: right; font-size: 12px;}
td.input input { width: 100%; color: #a6b1b9; font-size: 12px; }
td.submit { text-align: left; width: 50% }
td.subtext { text-align: right; color: #0076ae; font-size: x-small; width: 50%; }
td.subtext a { color: #0076ae; }
А вот JSP:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"
%><%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"
%><%@ taglib prefix="spring" uri="http://www.springframework.org/tags"
%><?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title><spring:message code="login.title"/></title>
<link rel="stylesheet" type="text/css" href="<c:url value='/css/login.css'/>" />
<script type="text/javascript">
<!--
function clearInput(inp) {
if (inp.value === inp.defaultValue) {
inp.value = "";
}
}
function restoreInput(inp) {
if (inp.value === "") {
inp.value = inp.defaultValue;
}
}
-->
</script>
</head>
<body>
<div class="logo"><img src="<c:url value="/images/logo.png"/>" alt="Logo" /></div>
<div class="header"><spring:message code="login.title"/></div>
<div class="divider"></div>
<form action="j_spring_security_check" method="post">
<table>
<tr>
<td class="input" colspan="2"><input name="j_username" type="text" onfocus="clearInput(this);" onblur="restoreInput(this);" value="<spring:message code="login.username"/>" /></td>
</tr>
<tr>
<td class="input" colspan="2"><input name="j_password" type="password" onfocus="clearInput(this);" value="<spring:message code="login.password"/>"/></td>
</tr>
<tr>
<td class="submit"><input type="submit" value="<spring:message code="login.loginbutton"/>"/></td>
<td class="subtext"><a href="newpass.jsp"><spring:message code="login.newpass"/></a></td>
</tr>
<c:if test="${not empty param.login_error}">
<tr>
<td class="error" colspan="2"><spring:message code="login.error"/></td>
</tr>
<tr>
<td class="errorcode" colspan="2">Code: <c:out value="${SPRING_SECURITY_LAST_EXCEPTION.message}"/></td>
</tr>
</c:if>
</table>
</form>
</body>
</html>