的HTML文件,该文件是这样的:Wicket:我可以在初始化java组件之前创建标记吗?
<wicket:panel>
<form wicket:id="adminUIForm">
<table wicket:id="datatable" class="datatable"></table>
<div wicket:id="institutTablePanel"></div>
</form>
</wicket:panel>
但在我的Java代码我只想实例化组件institutTablePanel,在数据表中的行被点击时,因为构造函数是这样的:
target.add(new InstitutTablePanel("institutLabelPabel", selectedContact));
而且selectedContact不能为空。 有没有这样做的可能性没有得到一个错误,它无法在我的JavaCode中找到组件?
编辑: 这可能是有益的
@Override
protected Item<Kontakt> newRowItem(final String id, final int index,
final IModel<Kontakt> model) {
Item<Kontakt> rowItem = new Item<Kontakt>(id, index, model);
rowItem.add(new AjaxEventBehavior("onclick") {
private static final long serialVersionUID = 1L;
@Override
protected void onEvent(AjaxRequestTarget target) {
selectedKontakt = model.getObject();
target.add(new InstitutTablePanel("institutTablePanel", selectedKontakt));
}
});
return rowItem;
}
这是推荐的方法! –
Jup,那工作完美:) –