Play框架的模型和表单的所有示例(我使用2.0.4)都使用String
,int
或Long
作为属性。
但是我有这样的模型:
public class MyModel {
@Required
public String name;
@Required
public Date birthdate;
@Required
public MyClass someObject;
}
现在name
我可以在表单中使用@inputText(...)
字段。
对于birthDate
我尝试在我的表单中使用@inputDate(...)
字段,但这只是给我一个输入字段以及我尝试在输入字段中输入的任何日期格式,它都会被拒绝。我也尝试将'format -> "dd/mm/yyyy"
传递给此字段,但没有成功。
我甚至不知道如何为表单输入MyClass
对象。
@inputDate()
工作? MyClass
对象?答案 0 :(得分:2)
你可以考虑这种技巧。该模型可能如下所示:
@Required
@Formats.DateTime(pattern="dd/MM/yyyy")
public Date birthdate;
因此,您可以将视图简单化为:
@helper.inputDate(myForm("birthdate"), '_label -> "Birthdate", '_help -> "format dd/MM/yyy")
据我所知,必须以String
,Int
,Long
的形式从HTML表单提交值。因为它们是在屏幕上显示信息的通用格式。此外,HTML输入值以String
,'Int','Long'类型表示。
仅供参考,有一些有用的示例,如computer-database
,您可以学习连接到其他课程的模型。它位于<PlayFrameworkInstallDirectory>/samples/java/computer-database
。