对于这个令人困惑的标题我很抱歉,我真的无法想到一个更好的标题。
我有以下问题:
我的视图中的列表显示在dataTable
上,一切正常。它是一种付款清单,因此有付款价值,表格和其他详细信息。
现在客户希望我通过付款方式订购,并为其添加小计。我想到的唯一方法就是在列表中添加新项目,以便它们出现在dataTable
上,并且运行正常。
问题是这些值只需要存在于那里以供查看,所以每当我将列表发送回服务器进行某些处理时,我都需要忽略这些值。我不想更改所有代码,因此我认为我只是删除' em进行处理,并在返回视图时再次添加&#em;因为我需要更新它们在处理之后也是如此,以至于我没有不一致的值。)
对我来说,最好的方法是什么?识别所有点并调用方法?也许为这个工作创建一个servlet过滤器?有什么建议吗?
以下是表格的示例:
答案 0 :(得分:1)
将它们显示为列的“页脚”方面,而不是列表的一部分。页脚不是基于每行进行评估,而是基于每个表进行评估,因此您可以安全地将其绑定到辅助bean本身的属性而不是迭代列表。
E.g。
<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>
很有帮助。另请参阅the showcase example。