我最近将一个从JSF 1.1移植到JSF 1.2的应用程序。在这个过程中,我们删除了战斧并决定使用富人。
现在我需要一种方法为表格中的每一行制作可扩展/可折叠的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,要么将每个对象包装在提供这两种方法的另一个对象中。
任何人都知道更好的方式,或者应该怎么做?
答案 0 :(得分:1)
我经常向我的bean(或包装bean)添加方法,这些方法包含这些属性作为解决JSF的方法。它不漂亮,但它有效。
目前我唯一能想到的选择是使用JavaScript函数来切换详细信息视图的状态。由于许多原因,这不太理想,但它可以节省你必须保持状态服务器端。