Hi all,
I have a DataTable with some ajax links in the first column. Other columns
are simple property columns. The ajax links are used to edit/delete
associated entities. The ajax links are encapsulated inside a panel.
The DataTable itself is rendered fine.
The problem I face is that the rowModel.getObject() is null when any of the
ajax link is clicked when running the application in Jetty (Maven jetty
plugin). However, if the application is deployed on Tomcat, everything
works as expected.
Can anyone highlight my mistake, if any here?
Here's how my code looks like:
List<IColumn> columns = new ArrayList<IColumn>();
columns.add(new AbstractColumn<FooEntity,
String>(Model.of(getString("name")), "name")
{
@Override
public void populateItem(Item<ICellPopulator<FooEntity>> cellItem,
String componentId, final IModel<FooEntity> rowModel)
{
cellItem.add(new DataTableActionPanel(componentId,
rowModel.getObject().getName())
{
@Override
protected void onEdit(AjaxRequestTarget target)
{
LOGGER.debug("Editing {}", rowModel.getObject());
//proceed to display another panel to edit the entity
}
@Override
protected void onDelete(AjaxRequestTarget target)
{
LOGGER.debug("Deleting {}", rowModel.getObject());
//proceed to delete the entity
}
});
}
});
//add other columns
....
//add the columns to a data table
....
--
Thanks & regards
James