我们有两个挂载 URL 的页面(运行 Wicket 6.11)。当浏览器(尝试使用 Chromium)打开带有特定参数的页面 1 的 URL 时,构造函数会在会话中保存信息并重定向到页面 2(伪代码):
public Page1(Pageparameters parameters) {
super(parameters);
String value = parameters.get("magicProperty").toString();
if (value != null && isValid(value)) {
Serializable key = createKey(value);
getSession().setAttribute("key", key);
throw new RestartResponseException(Page2.class);
}
}
在第 2 页结构中,我们想再次从会话中获取密钥:
public Page2(PageParameters parameters) {
super(parameters);
Serializable key = getSession().getAttribute("key");
...
}
问题是,当新打开浏览器时,key
第 2 页是null
- 看起来会话对象是为第 2 页新创建的。我该如何解决/解决这个问题?