Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/359.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框架中表单的输入_Java_Forms_Playframework 2.0 - Fatal编程技术网

Java 对象作为Play框架中表单的输入

Java 对象作为Play框架中表单的输入,java,forms,playframework-2.0,Java,Forms,Playframework 2.0,Play框架的所有模型和形式示例(我使用2.0.4)都使用String、int或Long作为属性 但是我有一个这样的模型: public class MyModel { @Required public String name; @Required public Date birthdate; @Required public MyClass someObject; } 现在对于名称,我只需在表单中使用@inputText(…)字段

Play框架的所有模型和形式示例(我使用2.0.4)都使用
String
int
Long
作为属性

但是我有一个这样的模型:

public class MyModel {

    @Required
    public String name;

    @Required
    public Date birthdate;

    @Required
    public MyClass someObject;    
}
现在对于
名称
,我只需在表单中使用
@inputText(…)
字段即可

对于
生日
我尝试在表单中使用
@inputDate(…)
字段,但这只会给我一个输入字段,无论我尝试在输入字段中输入何种格式的日期,它都会被拒绝。我还尝试将
'format->“dd/mm/yyyy”
传递到此字段,但没有成功

我甚至不知道如何为表单输入
MyClass
对象

  • 如何使
    @inputDate()
    工作
  • 有必要作出决定吗 每次输入一个字符串/Int/Long,在控制器中接收到这些值时 构建它们的
    MyClass
    对象
  • 问题(1)的答案。 你可以考虑这项技术。模型可能如下所示:

    @Required
    @Formats.DateTime(pattern="dd/MM/yyyy")
    public Date birthdate;
    
    因此,您可以将视图简化为:

    @helper.inputDate(myForm("birthdate"), '_label -> "Birthdate", '_help -> "format dd/MM/yyy")
    
    问题编号(2)的答案。 据我所知,必须以
    String
    Int
    Long
    的形式从HTML表单提交值。因为它们是在屏幕上显示信息的常用格式。此外,HTML输入值用
    字符串
    ,“Int”,“Long”类型表示


    仅供参考,这里有一个有用的示例,如
    计算机数据库
    a,您可以为连接到其他类的模型学习。它位于
    /samples/java/计算机数据库