Somar conteudo de um carrinho de compras

Eai pessoal, tenho um carrinho de compras, salvando os produtos dentro de um arraylist em uma sessão, só que, tenho que fazer a soma dos campos conforme o usuário adiciona os produtos, (é uma pizzaria) seleciona o tamanho da pizza e a quantidade, como faço para calcular o valor desses campos e mostrar na tela? Quero fazer diretamente com o java, pois com Javascript eu sei fazer isso via Ajax, só não sei como faria para enviar depois esses dados para finalizar o pagamento, desde já obrigado!

Aqui está o JSF que estou fazendo
<f:facet name=“header”>Preço</f:facet>
<h:outputLabel value="#{produtosCarrinho.preco}"/>
</h:column>
<h:column>
<f:facet name=“header”>Quantidade</f:facet>
<h:inputText value="#{produtosCarrinho.qtdCarrinho}" style=“width:20px;”/>
</h:column>
<h:column>
<f:facet name=“header”>Tamanho</f:facet>
<h:selectOneMenu>
<f:selectItem itemValue=“0” itemLabel = “Pequena” />
<f:selectItem itemValue=“4” itemLabel = “Media” />
<f:selectItem itemValue=“8” itemLabel = “Grande” />
</h:selectOneMenu>
</h:column>

Você pode fazer um método que percorre a lista que você está criando e soma os valores que foram definidos e exibir esse valor na tela.

for(TipoDaList list : tmpList) {
total =+ tmpList.valor;
}

Então esse foreach eu vou criar dentro da ArrayList que lista os produtos no carrinho de compras?

Você pode ter um método chamado getValorTotal() e esse método itera sobre os produtos, soma o valor como o @Rodrigo_Marden fez e então retorna o valor

Você vai criar um método que vai retornar um valor, que irá ser o valor total.

Por exemplo:

public double getValorTotalCarrinho() {
double total;
for(TipoDaList list : tmpList) {
total =+ tmpList.valor;
}
return total;
}

e dar um

<h:outputLabel value="#{produtosCarrinho.getValorTotalCarrinho()}"/>

Não tenho certeza se precisa dos parenteses, teste ai

Valeeeeuuuu, agora deu certo!! Muito obrigado Rodrigo e Mike!

Marque como solucionado pra ajudar as outras pessoas que tiverem o mesmo problema :slight_smile:

@Hugovms