(如何)我可以提供自定义类来设置Wicket中的页面?

(如何)我可以提供自定义类来设置Wicket中的页面?,wicket,Wicket,我想更改Wicket为URL子集实例化我的页面实例的方式。通常,我会使用mount()将一个类映射到一个URL,在这种情况下,Wicket会选择该类上的一个可用构造函数并实例化它 我的应用程序的一部分是简单的CRUD操作,这些操作在不同的实体类型之间有很多共同点。我已经将公共方面分解为一些factory和helper类,现在我的页面剩下一个类层次结构,如下所示: TemplatePage |

我想更改Wicket为URL子集实例化我的
页面
实例的方式。通常,我会使用
mount()
将一个类映射到一个URL,在这种情况下,Wicket会选择该类上的一个可用构造函数并实例化它

我的应用程序的一部分是简单的CRUD操作,这些操作在不同的实体类型之间有很多共同点。我已经将公共方面分解为一些factory和helper类,现在我的页面剩下一个类层次结构,如下所示:

TemplatePage | AbstractEntityPage | | AbstractVenuePage AbstractEventPage | | | | ViewVenuePage EditVenuePage ViewEventPage EditEventPage 模板页 | 抽象体年龄 | | AbstractVenuePage AbstractEventPage | | | | 查看事件页面编辑事件页面查看事件页面编辑事件页面 我想减少最后两个级别,因为随着更多实体类型的添加,层次结构开始蔓延,并且这些类中剩下的代码非常少,可以很容易地分解为更通用的对象


AbstractEntityPage
转换为一个类
EntityPage
相当容易,该类可以根据需要插入特定组件。我通常会使用一个构建器来完成这项工作,但我不确定如何告诉Wicket使用它?我在API文档中找不到用于此的钩子。

您可以使用EntityPage并在面板中实现差异,但是您需要很多类似的面板(或者一些通用面板,如果它们没有真正的差异)。或者你可以看看wicket-like的快速原型库。我不会认为他们中的任何一个(我发现和测试的那些)准备好了,但是它们可以被挽救,因为G.Apache。WikET.Stase.ISSeStestStudio.StPaGeForm(IpGeForm)可以替换默认的IpGeAgPort。如果页面是特殊的,则使用不同的实例化策略。

您需要处理哪些页面变体。实体的编辑器/查看器是显而易见的,但还有其他功能吗?@ireddick-还有创建、更新和删除功能,但它们是不同的集合,因为它们不呈现页面,而是执行一些操作,然后重定向。不过,以后可能会有不同的视图和编辑变体。在不知道问题的任何更具体的情况下,我也会使用面板。我会在我的应用程序类的
init()
方法中这样做吗?