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?!
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.