0

我是 Play Framework 的新手,我想检查我的表格。

我目前尝试为日期创建自定义格式化程序。当我收到一个名为“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

这将起作用,因为 play 知道在地图和具有相同属性名称的对象之间进行转换

此外,您在模板上指定映射到此表单的对象,使用两者一起足以推断要转换的字段的类型

您不能绑定其他类型然后是字符串,因为转换是在网页(Http 格式)和 Java 语言之间完成的。Http 没有对象只有字符串

我也不会说一口流利的英语

您可以在 Global.Onstart 上注册格式化程序

于 2013-04-28T12:57:12.997 回答