我正在使用检票口1.5.7,我想在DefaultDataTable中的单元格中创建一个链接。
所以我将示例复制到this page中,但是从检票口收到运行时错误:
上一个原因:无法找到关联的标记文件。 ActionPanel:[ActionPanel [组件ID =单元格]]
这是我的一些代码:
public GroupsList(final PageParameters parameters)
{
ArrayList<IColumn> columns = new ArrayList<IColumn>();
columns.add(new AbstractColumn<Group>(new Model<String>("Actions"))
{
public void populateItem(Item<ICellPopulator<Group>> cellItem, String componentId,
IModel<Group> model)
{
cellItem.add(new ActionPanel(componentId, model));
}
});
add(new DefaultDataTable("table", columns, new GroupDataProvider(), 8));
}
这是我的ActionPanel
class ActionPanel extends Panel
{
public ActionPanel(String id, IModel<Group> model)
{
super(id, model);
add(new Link("select")
{
@Override
public void onClick()
{
PageParameters pp = new PageParameters();
setResponsePage(new HomePage(pp));
}
});
}
}
任何想法的根本原因是什么?
最佳答案
从错误消息来看,您缺少ActionPanel.html。它被错误命名,放错位置或完全丢失。随着面板的发展,他们需要标记。在上述示例的情况下,由于ActionPanel是BasePage的内部类,因此标记文件被“隐藏”为BasePage$ActionPanel.html。