Java 播放2-没有帮助的模板
我该如何用纯html编写这个 我不知道如何将值添加到注册表单中,以便在控制器中使用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
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"));
}