【发布时间】:2012-04-10 15:03:27
【问题描述】:
我有一些 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>
(HomePage.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,表明该页面不是无状态的。然而,我唯一添加的是一个链接,据我通过阅读代码可以看出,它不是有状态的。
当然,如果我删除 HTML 中的 <link> 标记和 AbstractWebPage 中的 add() 语句,页面将恢复为无状态。
我做错了什么?理想情况下,我希望用户看到的任何 URL 都是无状态的,但只是通过在所有页面上包含样式表,突然间我所有的无状态页面都是有状态的,没有明显的原因。
【问题讨论】: