JSF 'total' variable something like c:set in JSTL
19,842
Solution 1
why dont you just do the calculation in the backing bean and just use jsf to retreive it?
And to answer your question, i don't know of a possiblity to set variables using just JSF libraries.
Solution 2
Interesting detail - <c:set>
tag will available be in JSF 2.0.
Author by
Splendid
Updated on June 04, 2022Comments
-
Splendid almost 2 years
I don't like JSF but I need to solve this problem with it, I am working in "pure" JSF. So this is what I baisicly need but I don't know how to accomplish it with JSF:
<c:set var="total" value="0"></c:set> <c:forEach var="item" items="${cart}"> <tr> <td>${item.product.name}</td> <td>${item.product.price}</td> <td>${item.quantity}</td> <td>${item.product.price * item.quantity}</td> </tr> <c:set var="total" value="${total + item.product.price * item.quantity}"></c:set> </c:forEach>
Now I can display total value with simple ${total} as u know.
My JSF table looks like this:
<h:dataTable var="item" value="#{mbProducts.cart_items}" binding="#{mbProducts.tableComponent}" border="1"> <h:column> <f:facet name="header"> <h:outputText value="NAME" /> </f:facet> <h:outputText value="#{item.product.name}" /> </h:column> <h:column> <f:facet name="header"> <h:outputText value="PRICE" /> </f:facet> <h:outputText value="#{item.product.price}" /> </h:column> <h:column> <f:facet name="header"> <h:outputText value="NUM" /> </f:facet> <h:outputText value="#{item.quantity}" /> </h:column> <h:column> <f:facet name="header"> <h:outputText value="TOTAL PRICE" /> </f:facet> <h:outputText value="#{item.product.price * item.quantity}"/> </h:column> </h:dataTable>
But I don't know how to set total variable which will be increased in each iteration? How to solve this?!