发布时间戳参数作为播放日期!框架模型?

时间:2013-06-03 09:53:35

标签: date playframework-2.1 ebean

我喜欢Play!Framework将通过POST发送的时间戳转换为模型中的java.util.Date格式,但我不知道它是否可以直接使用。

这是我的模特:

public class Contact extends Model {
    @Id
    private Long id;

    @Constraints.Required
    private String name;

    @JsonIgnore
    @Temporal(TemporalType.TIMESTAMP)
    private Date removed = null; // When the contact is no longer active
}

我尝试添加@Formats.DateTime(pattern="?")以删除,但由于DateTime使用SimpleDateFormat,我无法找到用于将时间戳转换为正确日期的模式。

我该怎么办?

1 个答案:

答案 0 :(得分:1)

好的,我会回答这个问题,这就是我所做的(也许不是最好的方法,但它确实有效)。

我不使用模型将已发布的参数与已删除的值进行匹配,而是在我的控制器中执行此操作:

String[] accepts = {"name", "datestamp"};
Form<Contact> form = Form.form(Contact.class).bindFromRequest(accepts);

Date date = null;
try {
    date = new Date(Long.parseLong(form.field("datestamp").value()));
}
catch (NumberFormatException nfe) {}

if (date == null) {
    form.reject("date", "error.invalid");
}

if (form.hasErrors()) {
    return badRequest(form.errorsAsJson());
}
else {
    Contact contact = form.get();
    contact.setRemoved(date);

    contact.save();
    return ok();
}