我有一些 Wicket 页面,布局如下:
(主页.html)
<html>
<head>
<title>Front</title>
<link wicket:id="applicationCss" rel="stylesheet" type="text/css"
href="stylesheets/application.css"/>
</head>
<body>
<!-- Content unnecessary -->
</body>
</html>
(主页.java)
public class HomePage extends AbstractWebPage {
public HomePage() {
// Nothing necessary (real application initialises some other links here.)
}
}
(AbstractWebPage.java)
public abstract class AbstractWebPage extends WebPage {
protected AbstractWebPage() {
setStatelessHint(true);
// *** the trouble-maker:
add(new ResourceLink<>(
"applicationCss",
new CssResourceReference(AbstractWebPage.class,
"stylesheets/application.css")));
}
}
当我访问我的主页时/admin
,浏览器立即重定向到/admin?0
,表明该页面不是无状态的。但是,我唯一添加的是一个链接,据我通过阅读代码可以看出,它不是有状态的。
自然,如果我删除<link>
HTML 中的标记和 AbstractWebPage 中的 add() 语句,页面将恢复为无状态。
我究竟做错了什么?理想情况下,我希望用户看到的任何 URL 都是无状态的,但只是通过在所有页面上包含样式表,突然间我所有的无状态页面都是有状态的,没有明显的原因。