0

我是检票口的新手。我想显示一个我通过休眠从数据库中获取的日期,并通过一个简单的标签显示它。

Label("nextCallDate",new PropertyModel(contact, "nextCallDate"))

但问题是我只想显示日期,而忽略时间部分。有没有办法做到这一点?或者更进一步,有没有办法格式化 Label 组件的输出?

谢谢

4

2 回答 2

3

为此使用 IConverter。您可以在您的应用程序上注册一个或在您的组件上覆盖#getConverter()。

于 2013-10-26T12:42:50.680 回答
0

您可以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"))
于 2013-10-26T10:30:41.590 回答