正如标题所说,我正在尝试从 html 选择表单中检索所选项目。我尝试使用以下代码来执行此操作,但它不起作用!城市值始终为 NULL,但地址字段返回正确的值...
表单.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}
保存方法:
public static void save(long id, String adress, @Required Place city){
System.out.println(city);
Admin.index();
}
最佳答案
您必须命名选择标签而不是选项标签,并且必须使用正确的字段:
<select size="1" name="city.id">
#{list items:cities, as:'city'}
<option value="${city.id}">${city.name}</option>
#{/list}
</select>
有关绑定(bind)的更多信息,请参阅文档:Doc
关于java - 使用 Play Framework 从 html 选择表单中检索数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4880929/