0

我最近将一个应用程序从 JSF 1.1 移植到 JSF 1.2。在此过程中,我们删除了 tomahawk 并决定改用 Rich。

现在我需要一种方法来为表中的每一行制作一个可展开/可折叠的 detailViev。

我唯一能想到的就是这些方面的东西(改编自 docs.jboss.com 上的文档):

<rich:dataTable value="#{capitalsBean.capitals}" var="capitals">
    <rich:column>
        ...
    </rich:column>
    <rich:subTable value="#{capitals.details}" var="detail" ajaxKeys="#{bean.ajaxSet}" binding="#{bean.subtable}" id="subtable" rendered="detail.detailOpened">
        <rich:column>
            ...
        </rich:column>
    </rich:subTable>
</rich:dataTable>

我想这样的事情会奏效。问题是我要么必须向我使用的对象添加 getDetailOpened 和 setDetailOpened,要么将每个对象包装在提供这两种方法的另一个对象中。

任何人都知道更好的方法,或者应该如何完成?

4

1 回答 1

1

I've often added methods to my beans (or wrapper beans) which contain those properties as a way of working around JSF. It's not pretty but it works.

The only other option I can think of at the moment is to use a JavaScript function to toggle the state of the details view. That wouldn't be ideal for a number of reasons but it would save you having to keep state server-side.

于 2008-12-12T11:57:15.063 回答