Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/354.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用Play Framework将选定字段连接到自定义格式设置程序_Java_Forms_Playframework - Fatal编程技术网

Java 使用Play Framework将选定字段连接到自定义格式设置程序

Java 使用Play Framework将选定字段连接到自定义格式设置程序,java,forms,playframework,Java,Forms,Playframework,我是Play Framework的新手,我想检查我的表单 我目前正在尝试为日期创建自定义格式化程序。当我收到一个名为“startTimestamp”的字段时,我希望它经过我的自定义格式化程序,该格式化程序将它转换为Java日期 这是我的代码: public static Result create() { Formatters.register(Date.class, new Formatters.SimpleFormatter<Date>(){ @Over

我是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 
}
公共静态结果创建(){
register(Date.class,new Formatters.SimpleFormatter()){
@凌驾
公共日期解析(字符串时间戳,区域设置arg1)引发ParseException{
返回新日期(Long.parseLong(timestamp));
}
@凌驾
公共字符串打印(日期arg0,区域设置arg1){
//TODO自动生成的方法存根
返回null;
}
});
//控制器代码
}
我不明白它怎么可能起作用。我怎么能告诉我的格式化程序需要格式化一个名为“startTimestamp”的特殊字符串字段,而我的其他字符串字段不需要它呢

起初,我想将我的对象与其他一些对象绑定,但play forms的bind方法只接受字符串。如果有解决这个问题的办法,我也会感兴趣的

我明白了吗?我的英语不是很好,所以你可能会感到困惑^^


谢谢大家。

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

此外,您还可以在模板上指定映射到此表单的对象 将两者结合使用足以让play推断要转换的场的类型

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

我的英语也不是很好

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