在播放框架表单中设置预定义值

时间:2014-04-06 07:11:34

标签: playframework ebean

我正在尝试在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>
        }
        }

但它没有显示在电子邮件会话字段值中设置的人员的电子邮件。 我试图谷歌,但无法得到任何东西 任何帮助将不胜感激

1 个答案:

答案 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));

好处:使用此方法+视图中的多个条件,您可以使用单个视图来创建/编辑用户。