使用Java Play 2将表单数据绑定到对象列表

时间:2014-09-25 16:45:46

标签: java data-binding playframework-2.0

我有一个表格,我希望将每一行绑定到一个对象,然后将该对象添加到服务器端的列表中,但是当我执行form.bindFromRequest()时,我得到空值,我可以& #39;弄清楚绑定。以下是我的HTML /表格。

<tr>
    <td><input type="hidden" value="@domains(i).id" name="domains[@i].domainId" readonly></td>
    <td><input type="text" value="@domains(i).domain" name="domains[@i].domain"></td>
    <td><input type="text" class="no-default-datepicker" value="@domains(i).date.format("yyyy-MM-dd")" name="domains[@i].date" /></td>
    <td><input type="hidden" value="@domains(i).cycle" name="domains[@i].cycle">@domains(i).cycle</td>
    <td>@defining(if (domains(i).blacklist == true) "checked" else "") { checked =>
        <input name="domains[@i].blacklist" type="checkbox" @checked />}
        <input type="hidden" name="domains[@i].blacklist" value="false"></td>
    <td><input type="text" value="@domains(i).source" name="domains[@i].source"></td>
    @for( x <- domains(i).results.indices){
        <td><input type="text" value="@domains(i).harvestResults(x).results" name="domains[@i].results[@x].results"></td>
    }
</tr>

编辑:服务器端代码,但它错了,不起作用。当我得到表单时,我无法将harvestResults子类绑定到绑定。

    public static Result update(){
    Form<EditClass> form = form(EditClass.class).bindFromRequest();
    EditClass ec = form.get(); //problem starts here, the harvestResults won't work. 

    return redirect("/search");
}

数据模型:

public class Domain {

public static class HarvestInformation{
    @JsonProperty("_id")
    public String id;
    public String name;
    public String results;
}

@JsonProperty("_id")
public String id;
public String domain;
public Boolean bl;
public String source;
public Date date;
public Integer cycle;
public List<HarvestInformation> harvestResults;

}

0 个答案:

没有答案