Play Framework 2.4:获取按钮的ID

时间:2016-01-23 17:15:14

标签: java playframework

我有以下表格,重复项目:

 @(adverts: List[models.AdvertModel])
 @if(adverts.size() > 0 && adverts != null) {
    @helper.form(action = routes.UserController.editAdvert()) {
        @for( (advert, index) <- adverts zip (Stream from 0)) {
            <div>@adverts.get(index).title</div>
            <button type="submit" name="delete" id="delete_@index">delete</button>    

        }
     }

和这个控制器:

    public Result editAdvert() {
    String[] indices =   request().body().asFormUrlEncoded().get("delete");
    if (indices != null) {
        // delete advert
        }
    return ok();
}

我希望能够根据其ID删除广告,但使用当前代码,我的数组包含字符串"delete"而不是"delete_0"。 如何获取单击按钮的索引?

1 个答案:

答案 0 :(得分:0)

我终于明白了:

<强> tldr:

value="delete_@index"添加到按钮。

更长的回答:

request().body().asFormUrlEncoded().get("delete")返回的值 保存在scala模板中value按钮的name="delete"属性中。 因此,通过向按钮添加value="delete_@index",我们将获得一个字符串,例如delete_0

正如@danielnixon评论的那样,这不是特定于游戏的行为,而只是html表单的工作方式。