通过Wicket Label删除显示日期模型时的时间部分

时间:2013-10-26 02:58:13

标签: hibernate wicket

我是wicket的新手。我希望显示一个由hibernate从数据库中获取的日期,并通过一个简单的Label显示它。

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

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

由于

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分: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"))