JSF数据表包含来自两个不同来源的数据

时间:2011-06-08 21:44:48

标签: java jsf

我目前在我的一个jsf页面上显示一个表,绑定到一个支持bean帐户,这是一个系统中的帐户列表。该表循环显示所有显示相关数据的帐户。

现在我有这种情况,我希望在每一行上显示一些额外的数据。我还想显示与每个帐户关联的一些性能数据。帐户类本身不包含与性能数据相关的任何成员。

那么 - 如何在来自两个独立来源的同一个表中显示这些数据?如果我能以某种方式将参数作为参数传递给datatable循环中的当前帐户的var,那么我可以使用它来查找地图中客户端的性能数据。我不知道我怎么能这样做。

所有建议都很有用!

2 个答案:

答案 0 :(得分:1)

为了做这样的事情,我通常在我的模型对象中实现检索相关对象的'关系'方法。例如:

public class Account {
    ...
    public Client getClient() {
        // Retrieve the relevant client.
        // This could hit the database the first time it is called and then retrieve the in-memory object on successive calls.
        // Alternatively a previously instantiated Client may have been set for this Account.
    }
    ...
}

public class Client() {
    ...
    public String getName() {
        return (name);
    }
    ...
}

然后你可以在JSF中执行此操作:

<h:outputText id="clientName" value="account.client.name" />

答案 1 :(得分:0)

最后我决定最好创建一个新的类,其中包含帐户和性能数据作为成员。

但是,我也发现了一种可以回传表格当前行的方法。我在你的类中添加了一个HtmlDataTable,你可以在你的jsf中设置DataTable来绑定它。使用HtmlDataTable的getRowData(),您可以获得表示正在迭代的当前行的对象。