我的数据表
<h:form>
<h:panelGroup>
<h:dataTable columnClasses="input-radio,input-label" id="account-table" value="#{accountController.items}" var="item" border="0">
<h:column>
<h:outputText value="#{item.id}"/>
</h:column>
<h:column>
<h:outputText value="#{item.name}"/>
</h:column>
</h:dataTable>
</h:panelGroup>
</h:form>
我有一个与用户实体有关的帐户实体。无论如何从帐户检索用户数据而不是为帐户和用户创建2个数据表?
getItems方法
public DataModel getItems() {
if (items == null) {
items = getPagination().createPageDataModel();
}
return items;
}
使用JSF 2,使用CRUD自动生成管理bean
答案 0 :(得分:1)
如果DataModel
类可以访问user
实体,则可以通过链接对象来遍历JSF页面中的关系:
#{item.name}
- 访问项目名称#{item.user.name}
- 如果用户在项目 E.g。你的DataModel
:
public class DataModel {
private Long id;
private String name;
private User user;
...
}
JSF页面:
<h:form>
<h:panelGroup>
<h:dataTable columnClasses="input-radio,input-label" id="account-table" value="#{accountController.items}" var="item" border="0">
<h:column>
<h:outputText value="#{item.id}"/>
</h:column>
<h:column>
<h:outputText value="#{item.user.name}"/> <!-- traverse to user entity here -->
</h:column>
</h:dataTable>
</h:panelGroup>
</h:form>