0

我很抱歉这个令人困惑的标题,我真的想不出一个更好的。

我有以下问题:

我的视图中有一个列表显示在 a 上dataTable,一切正常。它有点像付款清单,所以有付款金额、形式和其他详细信息。

现在客户希望我通过付款方式订购,并添加小计。我想到的唯一方法是将新项目添加到列表中,以便它们出现在列表中dataTable并且效果很好。

问题是这些值只需要存在于查看目的,所以每当我将列表发送回服务器进行一些处理时,我需要忽略这些值。我不想更改所有代码,所以我想我只是删除它们进行处理,并在返回视图时再次添加它们(因为我还需要在处理后更新它们,所以我不'没有不一致的值)。

对我来说最好的方法是什么?识别所有点并调用方法?也许为这项工作创建一个 servlet 过滤器?有什么建议么?

下面是一个表格应该是什么样子的例子:

数据表

4

1 回答 1

1

将它们显示为列的“页脚”方面,而不是列表的一部分。页脚不是在每行的基础上进行评估的,而是在每个表的基础上进行评估的,因此您可以安全地将其绑定到支持 bean 本身的属性而不是迭代列表。

例如

<h:dataTable value="#{bean.payments}" var="payment">
    ...
    <h:column>
        #{payment.price}
        <f:facet name="footer">
            #{bean.subtotalPaymentPrice}
        </f:facet>
    </h:column>
</h:dataTable>

更新:根据问题更新,其中包括一个有用的屏幕截图,它比问题中的 1000 个单词更好地描述了要求,不,这不是标准 JSF 可能的“开箱即用”。根据您使用 PrimeFaces 或至少熟悉它的问题历史,您可能会发现它<p:subTable>很有帮助。另请参见展示示例

于 2013-04-16T12:59:45.767 回答