我是Play框架的新手(我使用Java版本)。我正在寻找一个解决方案来将一个selected =“selected”添加到字段中。我的代码:
@select(settingsForm("projectManager"), options(projectManagers), '_label -> "Project manager" )
HTML结果如下:
<select id="projectManager" name="projectManager">
<option value="222">Henk</option>
<option value="96">Geert</option>
</select>
有没有人知道@select字段的scale参数来将select = selected添加到html中?我正在寻找的结果如下:
<select id="projectManager" name="projectManager">
<option value="222">Henk</option>
<option value="96" select="selected">Geert</option>
</select>
答案 0 :(得分:2)
在搜索网页一段时间后,我的想法转到了示例项目。答案在那里,就在我面前。仅创建带有视图的表单是不够的!为了更清楚,只需查看计算机数据库示例。要创建一个空字段,只需将Form对象传递给视图:
Controller:
public static Result create() {
Form<Computer> computerForm = form(Computer.class);
return ok(
createForm.render(computerForm)
);
}
View:
@inputText(computerForm("name"), '_label -> "Computer name")
@inputText(computerForm("introduced"), '_label -> "Introduced date")
@inputText(computerForm("discontinued"), '_label -> "Discontinued date")
如果要填写表单,则需要将数据传递给该表单。如示例所示:
public static Result edit(Long id) {
Form<Computer> computerForm = form(Computer.class).fill(
Computer.find.byId(id)
);
return ok(
editForm.render(id, computerForm)
);
}
答案 1 :(得分:2)
在scala中,我知道控制器中的以下代码将选择96
settingsForm.bind( Map("projectManager" -> "96"))
在Java中,它的工作原理与我猜测的相同。
答案 2 :(得分:0)
答案 3 :(得分:0)
我认为projectManager是某种关系。然后你可以尝试:
@select(
settingsForm("projectManager.id"),
options(projectManagers),
'_label -> "Project manager"
)
@see:similar case