我一直在审查在线发布的一些样本,他们都做了简单的CRUD。
1 jsf page = 1 entity = 1 table.
大多数时候,这就是我所看到的。但是,如果您只有1个带有1个表单的jsf页面,并且您需要向3个实体提供数据,该怎么办?拥有名称,公司和业余爱好等形式领域。
他们的价值需要放到实体
person.name, work.company_name and other_info.hobby.
这是通过绑定自动完成的吗?或者我们需要手动分配值?请说清楚,我现在有点困惑
答案 0 :(得分:1)
我不确定我是否看到了这个问题。你可以让它们成为同一个支持bean的属性:
@ManagedBean
@ViewScoped
public class Profile {
private Person person;
private Work work;
private OtherInfo otherInfo;
// ...
}
与
<h:inputText value="#{profile.person.name}" />
<h:inputText value="#{profile.work.companyName}" />
<h:inputText value="#{profile.otherInfo.hobby}" />
或者Work
和OtherInfo
与@OneToOne
有Person
的关系(在现实世界中,他们无疑有):
@ManagedBean
@ViewScoped
public class Profile {
private Person person; // Has in turn Work and OtherInfo properties.
// ...
}
与
<h:inputText value="#{profile.person.name}" />
<h:inputText value="#{profile.person.work.companyName}" />
<h:inputText value="#{profile.person.otherInfo.hobby}" />