我是检票口的新手。我想显示一个我通过休眠从数据库中获取的日期,并通过一个简单的标签显示它。
Label("nextCallDate",new PropertyModel(contact, "nextCallDate"))
但问题是我只想显示日期,而忽略时间部分。有没有办法做到这一点?或者更进一步,有没有办法格式化 Label 组件的输出?
谢谢
为此使用 IConverter。您可以在您的应用程序上注册一个或在您的组件上覆盖#getConverter()。
您可以PropertyModel
使用来自 Apache Commons 的 DateFormatUtils 子类化并创建一个将返回格式化字符串的模型。这样做的好处是您不必修改实体并且更容易重用。
public class DatePropertyModel extends PropertyModel{
public DatePropertyModel(Object modelObject, String expression) {
super(modelObject, expression);
}
@Override
public Object getObject() {
return DateFormatUtils.format((Date)super.getObject(), "dd-MM-yyyy");
}
}
然后你使用这个模型类定义你的标签
Label("nextCallDate",new DatePropertyModel(contact, "nextCallDate"))