使用Play Framework从html选择表单中检索数据

Moo*_*ooh 0 java select playframework

正如标题所说,我正在尝试从html选择表单中检索所选项目.我尝试使用以下代码执行此操作,但它不起作用!城市值始终为NULL但地址字段返回正确的值...

form.html:

#{extends '/Admin/admin.html' /}
 #{form @save(id)}

    #{ifErrors}
        <p class="error">
            Please correct these errors.
        </p>
    #{/ifErrors}

    <p>
        <label>Adresse</label>
        <input type="text" name="adress" value="${flash.adress}" id="adress" />
        <span class="error">#{error 'adress' /}
    </p>
    <p>
        <label>Ville</label>
        <select size="1" >
            #{list items:cities, as:'city'}
                <option name="city" id="city" value="${flash.city}">${city}</option>
            #{/list}
        </select>
        <span class="error">#{error 'city' /}
    </p>
    <p>
        <input type="submit" value="Publier l'annonce" />
    </p>

 #{/form}
Run Code Online (Sandbox Code Playgroud)

保存方法:

public static void save(long id, String adress, @Required Place city){ 
    System.out.println(city);
    Admin.index();
}
Run Code Online (Sandbox Code Playgroud)

Ric*_*rdo 6

您必须将选择标记命名为选项标记,并且必须使用正确的字段:

<select size="1" name="city.id">
            #{list items:cities, as:'city'}
                <option value="${city.id}">${city.name}</option>
            #{/list}
</select>
Run Code Online (Sandbox Code Playgroud)

有关绑定的更多信息,请参阅doc:Doc