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