我们的wicket应用程序扩展了WebApplication。我们希望能够在会话过期,超时或注销时捕获对安全页面的访问。它通常可以工作,调出SessionExpiredPage。
WicketApplication.java:
public class WicketApplication extends WebApplication
{
@Override
public RuntimeConfigurationType getConfigurationType()
{
return RuntimeConfigurationType.DEPLOYMENT;
}
@Override
public Class<? extends WebPage> getHomePage()
{
return HomePage.class;
}
@Override
public Session newSession(Request request, Response response)
{
return new LMSSession(request);
}
@Override
public void init()
{
super.init();
getApplicationSettings().setPageExpiredErrorPage(SessionExpiredPage.class);
getApplicationSettings().setAccessDeniedPage(SessionExpiredPage.class);
getPageSettings().setRecreateBookmarkablePagesAfterExpiry(false);
getComponentInstantiationListeners().add(new SpringComponentInjector(this));
}
}
我们有几个文件夹包含具有不同角色的用户的页面。我们必须在每个文件夹中添加一个类以使Spring注入工作。 WebApplication类和大多数相同的方法都被覆盖。这有效但会话过期时某些页面不会被捕获。有没有更好的方法在这些文件夹中连接Spring?
ClientApplication.java:
public class ClientApplication extends WebApplication
{
// Same methods
@Override
public void init()
{
super.init();
getComponentInstantiationListeners().add(new SpringComponentInjector(this));
}
}