Java 播放2-没有帮助的模板

Java 播放2-没有帮助的模板,java,html,templates,scala,playframework-2.0,Java,Html,Templates,Scala,Playframework 2.0,我该如何用纯html编写这个 我不知道如何将值添加到注册表单中,以便在控制器中使用bindfromRequest()(html格式) 编辑: 我通常使用这种方法 @inputText( signupForm("email"), '_label -> "Email", '_help -> "Enter a valid email address." ) 在模板本身中 public static R

我该如何用纯html编写这个

我不知道如何将值添加到注册表单中,以便在控制器中使用
bindfromRequest()
(html格式)

编辑:

我通常使用这种方法

@inputText(
                signupForm("email"), '_label -> "Email",
                '_help -> "Enter a valid email address."
            )
在模板本身中

public static Result blank() {
        return ok(form.render(signupForm));
    }
编辑3:

我不知道这是否有帮助,但助手看起来像这样。(用于输入文本) 我只是不知道这意味着什么,scala看起来真的很神秘

@(signupForm: Form[User])
@(字段:play.api.data.field,args:(符号,任意)*)(隐式处理程序:FieldConstructor,lang:play.api.i18n.lang)
@输入(字段,参数:*){(id,名称,值,htmlArgs)=>
}

使用浏览器检查Play呈现的源代码,并将HTML复制/粘贴到模板中

通常,您最感兴趣的是在手动创建的字段中正确插入值:

@(field: play.api.data.Field, args: (Symbol,Any)*)(implicit handler: FieldConstructor, lang: play.api.i18n.Lang)

@input(field, args:_*) { (id, name, value, htmlArgs) =>
    <input type="text" id="@id" name="@name" value="@value" @toHtmlArgs(htmlArgs)>
}
当然,如果要编辑现有用户,必须使用DB ie中的数据对其进行预填充:

public static Result saveBlank(){
    signupForm = signupForm.bindFromRequest();
    if (signupForm.hasErrors()){
        return badRequest(form.render(signupForm));
    }

    User user = new User();
    user = signupForm.get();
    user.save();

    return ok("user saved);
}
(注意:我是从头顶写的,所以请检查是否有打字错误)

最后,您不必在任何情况下都使用Form对象,还可以使用
DynamicForm

public static Result edit(Long id){
    signupform = signupForm.fill(User.find.byId(id));
    return ok(form.render(signupForm));
}
甚至在一行中:

public static Result saySomething(){
    DynamicForm df = form().bindFromRequest();
    return("you entered :" + df.get("email"));
}

使用浏览器检查Play呈现的源代码,并将HTML复制/粘贴到模板中

通常,您最感兴趣的是在手动创建的字段中正确插入值:

@(field: play.api.data.Field, args: (Symbol,Any)*)(implicit handler: FieldConstructor, lang: play.api.i18n.Lang)

@input(field, args:_*) { (id, name, value, htmlArgs) =>
    <input type="text" id="@id" name="@name" value="@value" @toHtmlArgs(htmlArgs)>
}
当然,如果要编辑现有用户,必须使用DB ie中的数据对其进行预填充:

public static Result saveBlank(){
    signupForm = signupForm.bindFromRequest();
    if (signupForm.hasErrors()){
        return badRequest(form.render(signupForm));
    }

    User user = new User();
    user = signupForm.get();
    user.save();

    return ok("user saved);
}
(注意:我是从头顶写的,所以请检查是否有打字错误)

最后,您不必在任何情况下都使用Form对象,还可以使用
DynamicForm

public static Result edit(Long id){
    signupform = signupForm.fill(User.find.byId(id));
    return ok(form.render(signupForm));
}
甚至在一行中:

public static Result saySomething(){
    DynamicForm df = form().bindFromRequest();
    return("you entered :" + df.get("email"));
}

好的,谢谢,但是我检查了渲染的源代码,并且
值总是空的,但是我尝试了一下!哦,我想我没有真正理解整个表单系统。我想这些表格只是用来填表格的吧?我认为有必要使用bindFromRequest()。好的,非常感谢:)@MaikKlein如果你不需要/不想使用表单对象工作流,你可以将fromRequest绑定到DynamicForm,检查我编辑的答案好的,谢谢,但是我检查了渲染的源代码,并且
值总是空的,但是我尝试一下!哦,我想我没有真正理解整个表单系统。我想这些表格只是用来填表格的吧?我认为有必要使用bindFromRequest()。好的,非常感谢:)@MaikKlein如果你不需要/不想使用表单对象工作流,你可以从请求绑定到动态表单,检查我编辑的答案
public static Result sayShorter(){
    return("you entered :" + form().bindFromRequest().get("email"));
}