Вы можете создать собственную реализацию IColumn, которая форматирует значение:
class FormatedPropertyColumn<T> extends PropertyColumn<T> {
private final Format format;
public FormatedPropertyColumn(IModel<String> displayModel, String sortProperty, String propertyExpression, Format format) {
super(displayModel, sortProperty, propertyExpression);
this.format = format;
}
public FormatedPropertyColumn(IModel<String> displayModel, String propertyExpression, Format format) {
super(displayModel, propertyExpression);
this.format = format;
}
@Override
protected IModel<?> createLabelModel(IModel<T> rowModel) {
final IModel<?> originalModel = super.createLabelModel(rowModel);
return new AbstractReadOnlyModel<String>() {
@Override
public String getObject() {
Object value = originalModel.getObject();
return (value != null) ? format.format(value) : null;
}
};
}
}
Затем вы передаете желаемый формат при создании его экземпляра.
List<IColumn> columns = Arrays.asList(
new FormatedPropertyColumn<POJO>(Model.of("Date"), "date", new SimpleDateFormat("yyyy-MM-dd"))
);