Java 使用Play Framework将选定字段连接到自定义格式设置程序
我是Play Framework的新手,我想检查我的表单 我目前正在尝试为日期创建自定义格式化程序。当我收到一个名为“startTimestamp”的字段时,我希望它经过我的自定义格式化程序,该格式化程序将它转换为Java日期 这是我的代码: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
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上注册格式化程序