次の例は、入力またはチェックされている/チェックされていないチェックボックスの空の値を保存/更新できることを示しています。
コントローラー:
public static Result editCustomer() {
// find CustomerData, Note: this use hard coded ID
CustomerData customerData = CustomerData.find.byId(1L);
Form<CustomerData> customerDataForm = Form.form(CustomerData.class)
.fill(customerData);
return ok(views.html.editCustomer.render(customerDataForm));
}
public static Result updateCustomer() {
Form<CustomerData> customerDataForm = Form.form(CustomerData.class)
.bindFromRequest();
if (customerDataForm.hasErrors()) {
return badRequest(editCustomer.render(customerDataForm));
}
CustomerData customerData = customerDataForm.get();
// update data, Note: this use hard coded ID
customerData.update(1L);
flash("success", "Customer ID " + customerData.id + " has been updated");
return redirect(routes.Application.editCustomer());
}
モデル:
@Entity
public class CustomerData extends Model {
@Id
public Long id;
public String name;
public boolean isMember;
public static Finder<Long, CustomerData> find = new Finder<>(
Long.class, CustomerData.class
);
}
ビュー:
@(customerDataForm: Form[models.CustomerData])
@import views.html.helper._
@main(title = "Edit Customer Data") {
@form(routes.Application.updateCustomer()) {
@*** Note: this use hard coded ID ***@
<input type="hidden" name="id" value="1">
@inputText(customerDataForm("name"), 'label -> "Customer Name")
@checkbox(customerDataForm("isMember"))
<input type="submit" value="Submit">
}
}
これが役立つことを願っています。:)