我正在使用检票口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

09-29 20:55