如何使用 Play 引导表单制作一个新的空表单? (Java)

How to make a new empty form using Play boot forms? (Java)

使用 Play 和 play-bootstrap 插件,如何在页面上显示一个空白?

也就是说,如果我有一个数据对象 Something,我如何使用 play-bootstrap 为它创建一个空表单,以便用户可以创建一个新的 Something

(考虑评论,而不是 Something - 不是编辑,而是创建)。

在您的控制器 class 中,无论哪种方法正在加载您想要查看的页面(并且这是使用 Java)

public Result methodName(){
    Form<Something> aForm = formFactory.form(Something.class);
    return ok(twirlFile.render(aForm));
}

其中 twirlFile 是您要使用的 twirlFile.scala.html 模板。

中, 您需要一些如下所示的代码:

<div class="row">
        <div class="col-sm-3" ></div>
        <div class="col-sm-6" >
            @b3.form(routes.Controller.saveSomething) {
                @b3.text( form("name"), '_label -> "Title", 'placeholder -> "Enter Something name here" )
                @b3.text( form("description"), '_label -> "Description", 'placeholder -> "Enter short description here" )
                @b3.submit('class -> "btn btn-default"){ <span class="glyphicon glyphicon-ok"></span> Save }
                @flash.get("success") 
            }
        </div>
        <div class="col-sm-3" ></div>
    </div>

作为奖励,如果您没有任何空表单,并且想在您的表单中放置一个隐藏的 id(代表 `Something 中的 id 字段),请添加:

@b3.hidden( "id", form("somethingId").value, 'attr -> false

因此您的表单将如下所示:

@b3.form(routes.Controller.saveSomething) {
    @b3.hidden( "id", form("id").value, 'attr -> false
    @b3.text( form("name"), '_label -> "Title", 'placeholder -> "Enter Something name here" )
    @b3.text( form("description"), '_label -> "Description", 'placeholder -> "Enter short description here" )
    @b3.submit('class -> "btn btn-default"){ <span class="glyphicon glyphicon-ok"></span> Save }
    @flash.get("success") 
}