0

Play Frameworkを初めて使用するので、フォームを確認したいと思います。

現在、Datesのカスタムフォーマッターを作成しようとしています。「startTimestamp」というフィールドを受け取ったら、それをJavaの日付に変換するカスタムフォーマッターを通過させたいと思います。

これは私のコードです:

public static Result create() {
    Formatters.register(Date.class, new Formatters.SimpleFormatter<Date>(){

        @Override
        public Date parse(String timestamp, Locale arg1) throws ParseException {
            return new Date(Long.parseLong(timestamp));
        }

        @Override
        public String print(Date arg0, Locale arg1) {
            // TODO Auto-generated method stub
            return null;
        }

    });

    // controller code 
}

それがどのように機能するのかわかりません。「startTimestamp」と呼ばれる特別な文字列フィールドをフォーマットする必要があるが、他の文字列フィールドはそれを必要としないことをフォーマッターにどのように伝えることができますか?

最初は自分のオブジェクトを他のオブジェクトとバインドしたかったのですが、playフォームのbindメソッドは文字列のみを受け入れます。これに対する解決策があれば、私も興味があるかもしれません!

私の言いたいことが分かりますか ?私はあまり上手な英語を話せないので、少し混乱するかもしれません^^

みなさん、ありがとうございました。

4

1 に答える 1

0

同じ属性名を持つマップとオブジェクトの間で変換することを知っているので、これは機能します

さらに、テンプレートで、このフォームにマップされているオブジェクトを指定します。この 2 つを一緒に使用すると、変換されるフィールドのタイプを推測するのに十分です。

変換は Web ページ (Http 形式) と Java 言語の間で行われるため、文字列以外の型をバインドすることはできません。Http にはオブジェクトのみの文字列がありません

私もあまり上手な英語は話せません

Global.Onstart にフォーマッタを登録できます

于 2013-04-28T12:57:12.997 に答える