gpt4 book ai didi

jsf - 从 Facelets 中向数据表行添加最后一行

转载 作者:行者123 更新时间:2023-12-04 23:42:39 26 4
gpt4 key购买 nike

我有一个包含 8 列的 JSF 数据表。最后 4 列是数值列。可以说我的数据表带来了 20 行结果。我想添加最后一行,它只包含最后 4 列的字段并包含 20 行对应值的总和。我想用 Facelets 代码添加最后一行。我该怎么做?

最佳答案

如果您有一张与此相同的表格,您可以添加此页脚方面:

<h:dataTable id="table1" value="#{shoppingCartBean.items}" var="item"
border="1">
<f:facet name="header">
<h:outputText value="Your Shopping Cart" />
</f:facet>
<h:column>
<f:facet name="header">
<h:outputText value="Item Description" />
</f:facet>
<h:outputText value="#{item.description}" />
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="Price" />
</f:facet>
<h:outputText value="#{item.price}" />
</h:column>
<f:facet name="footer">
<h:panelGroup style="display:block; text-align:right">
<h:outputText value="Total 1: #{shoppingCartBean.total1}" />
<h:outputText value="Total 2: #{shoppingCartBean.total2}" />
<h:outputText value="Total 3: #{shoppingCartBean.total3}" />
<h:outputText value="Total 4: #{shoppingCartBean.total4}" />
</h:panelGroup>
</f:facet>
</h:dataTable>

然后你应该在你的支持 bean 中编写所有函数:

@ManagedBean
public class ShoppingCartBean {
...
public int total1() {
// Do the sum of all elements from first column of table as you wish....

return result;
}

public int total2() {
// Do the sum of all elements from second column of table as you wish....

return result;
}
}

如果您更喜欢更精细和可重用的解决方案,您可以像这样创建自己的 EL 函数:

<f:facet name="footer">
<h:panelGroup style="display:block; text-align:right">
<h:outputText value="Total 1: #{func:calculateTotal(shoppingCartBean.items, 4}" />
<h:outputText value="Total 2: #{func:calculateTotal(shoppingCartBean.items, 5}" />
<h:outputText value="Total 3: #{func:calculateTotal(shoppingCartBean.items, 6}" />
<h:outputText value="Total 4: #{func:calculateTotal(shoppingCartBean.items, 7}" />
</h:panelGroup>
</f:facet>

对于此解决方案,您可以查看 BalusC description on how to create a custom el function

问候,

关于jsf - 从 Facelets 中向数据表行添加最后一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16296015/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com