我想要做的是一个简单的页面,获取一个参数,这是一个对象的ID。Wicket - 通过LoginPagePageParameters页
@MountPath("share/${share_id}")
public class IndexPage extends WebPage
{
public IndexPage(PageParameters parameters)
{
String id = parameters.get("share_id").toString();
// etc...
}
}
此页面必须安全,以防止未经授权的访问。我添加@AuthorizeInstantiation( “用户”)标注和管理)在MainApplication延伸AuthenticatedWebApplication标准检票的安全支持,包括getSignInPageClass(。
问题是,当我需要找回我IndexPage授权后原始参数。我有一些解决方案,但我需要它更优雅,更普遍(通用)。
- 覆盖restartResponseAtSignInPage()中的应用类方法
从RequestCycle检索参数:
final Request request = RequestCycle.get().getRequest(); PageParametersEncoder encoder = new PageParametersEncoder(); PageParameters parameters = encoder.decodePageParameters(request.getUrl());
通过投掷新RestartResponseAtInterceptPageException它们传递(getSignInPageClass(),newParameters);
我知道这不是一个很好的解决方案,因为我需要知道什么是参数的精确指标在我的网址(编码器只返回indexedParameters,不namedParameters - ?或者我做某事错了)。
也许有人曾经遇到过这个问题吗?
谢谢。这很奏效! – 2013-04-10 12:39:53