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 に答える