【发布时间】:2013-04-08 14:54:30
【问题描述】:
我在使用 Play Framework 2.1.0 中的复选框更新多对多关系时遇到了一些麻烦
账户模型:
@ManyToMany(fetch = FetchType.EAGER)
@JoinTable(name = "account_security_role", joinColumns = { @JoinColumn(name = "account_id", referencedColumnName = "id") }, inverseJoinColumns = { @JoinColumn(name = "security_role_id", referencedColumnName = "id") })
public List<SecurityRole> roles;
我想在帐户编辑视图中更新帐户角色
编辑帐户视图:
@for(role <- SecurityRole.find.all()) {
<div class="control-group">
<label class="control-label"> @role.description </label>
<div class="controls">
<div class="text-toggle-button">
<input type="checkbox" name="roles[@role.id].id" value="@role.id" class="toggle"
@if(loggedAccount.hasHole(role.id)) {
CHECKED
} />
</div>
</div>
</div>
}
所以,当我调用 Update POST 方法时,我得到了这个错误:
InvalidPropertyException:bean 类 [
models.Account] 的无效属性roles[3]:非法尝试获取属性roles抛出异常;嵌套异常是org.springframework.beans.NullValueInNestedPathException:bean 类[models.Account] 的无效属性roles:无法将属性类型[be.objectify.deadbolt.core.models.Role] 实例化为自动增长嵌套属性路径:java.lang.InstantiationException:be.objectify.deadbolt.core.models.Role
有没有使用复选框和多对多关系更新模型的示例?
非常感谢。 卢
【问题讨论】:
-
能给我们POST控制器方法吗?
标签: playframework many-to-many playframework-2.0 playframework-2.1 deadbolt