我正在尝试在play框架中创建一个已经定义了电子邮件字段的表单,为此我在会话中设置了一个值。 我只想通过此会话在输入电子邮件字段中设置属性占位符和值,我正在执行此操作
@(userForm: Form[models.User] )
@import helper._
@import helper.twitterBootstrap._
@main(Html("Create")) {
<fieldset>
<legend>Add a new User</legend>
@form(action = routes.ShopController.submit(), 'id -> "shopCreationForm", 'class -> "form-horizontal", 'role->"form") {
<div class="form-group"><label>Name:</label><input type=text class="form-control" label="Shop Name"></div>
<div class="form-group"><label>Email:</label><input type=text class="form-control" label="Email" placeholder=@session.get("email") value=@session.get("email") readonly></div>
<div class="form-group">
<div class="actions">
<input type="submit" class="btn btn-primary" value="Create">
<a href="@routes.ApplicationController.index" class="btn">Cancel</a>
</div>
</div>
</fieldset>
}
}
但它没有显示在电子邮件会话字段值中设置的人员的电子邮件。 我试图谷歌,但无法得到任何东西 任何帮助将不胜感激
答案 0 :(得分:1)
只需创建一个新的User
对象并设置所需的值,而不将其保存到控制器中的DB(伪代码!):
User user = new User();
user.email = session("email");
Form<User> userForm = Form.form(User.class);
return ok(newUserView.render(userForm.fill(user));
好处:使用此方法+视图中的多个条件,您可以使用单个视图来创建/编辑用户。