我想要做的是一個簡單的頁面,獲取一個參數,這是一個對象的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