玩!框架 CRUD 模块:添加默认值和更改日期格式?
Posted
技术标签:
【中文标题】玩!框架 CRUD 模块:添加默认值和更改日期格式?【英文标题】:Play! framework CRUD module: adding default values and change date format? 【发布时间】:2011-05-16 22:16:06 【问题描述】:我正在使用 Play! frameworks CRUD 模块,但我无法弄清楚:我的数据库表有一个 created
字段,它基本上是创建行的时间。我不想让我的用户设置这个,我想在后端做,只需添加当前时间。不过我不知道该怎么做。
我已经使用@Hidden
使该字段不可见,但显然现在我无法创建新行,因为它的值根本没有设置。那么我在哪里做呢?
还有一个问题:我的表还有一个名为publish
的列,这是另一个时间戳。 CRUD 表单中此字段的当前格式为 yyyy-MM-dd。我也想指定一个日期,但不知道如何..
有人可以帮忙吗?
【问题讨论】:
【参考方案1】:您可以使用 javax.persistence.PrePersist 注解来设置创建日期。将此方法放入您的模型中:
@PrePersist
public void prePersist()
created = new Date();
【讨论】:
【参考方案2】:您可以在 CRUD 模板中使用 custom field rendering 来显示格式化的值或使用您想要的任何控件(即:用于日期的 jquery 日期选择器)。
要隐藏一个值并分配一个默认值,首先通过删除字段从 CRUD 的编辑/空白表单中删除该值。然后覆盖实体中的 _save() 方法(注意初始 _,您需要 _save(),而不是 save())并在调用 super._save() 之前在代码中设置您想要的值。像这样:
/* Return value may differ */
public void _save()
current = new Date();
super._save();
【讨论】:
我应该在哪个文件中使用#crud.custom
,这是我必须从 cmd 生成的东西吗?以上是关于玩!框架 CRUD 模块:添加默认值和更改日期格式?的主要内容,如果未能解决你的问题,请参考以下文章