一个URL,可以根据数据库内容显示两个Wicket页面之一

One URL, which can display one of two Wicket pages based on database content

我想使用 Apache Wicket 实现以下目标。

我们要求 URL /xxxx 可以显示两个内容之一。

这些页面截然不同,有数百行各种 wicket 组件等等。

目前我们有两个不同的 URL(/city/xxx 和 /venue/xxx),它们已映射到应用程序中,并且运行良好。现在他们应该分享 URL.

我需要一些类似 "select id from city where url_name=?" 的逻辑,如果有一行显示 CityDetailPage,否则如果 "select id from venue where url_name=?" 则显示 VenueDetailPage,否则显示 404。

我考虑过的事情:

提前致谢!我被困住了:(

我建议使用自定义 IProvider,即 mountPage("the/path", VenuePage.class) 而不是 mount(new MountedMapper("the/path", new MyClassProvider())),其中 MyClassProvider 实现 IProvider 和 returns 根据您的条件,#get() 中的不同页面 class。