Acredito que o curso precisa ser atualizado, sou um dos que está recebendo o erro null na itens.jsp na chamada carrinhoCompras.getTotal(item)
package br.com.casadocodigo.loja.models;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Collection;
import java.util.LinkedHashMap;
import java.util.Map;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;
import org.springframework.web.context.WebApplicationContext;
//anotação para que a classe fique disponivel como bean do spring
@Component
//anotação para que o bean seja criado no escopo de sessão, assim cada usuário que utilizar este bean irá fazê-lo em sua sessão
//sem a anotação os usuários utilizam o mesmo beam, logo os dados acabam sendo compartilhados entre eles
//junto com esta anotação o controller deve receber esta anotação porem com o SCOPE_REQUEST (ver CarrinhoComprasController)
@Scope(value=WebApplicationContext.SCOPE_SESSION)
public class CarrinhoCompras implements Serializable{
/**
*
*/
private static final long serialVersionUID = -7177661284533806872L;
//ligação de chave - valor para relacionar o item do carrinho e a quantidade
private Map<CarrinhoItem, Integer> itens = new LinkedHashMap<CarrinhoItem, Integer>();
public void add(CarrinhoItem item) {
itens.put(item, getQuantidade(item) + 1);
}
public Collection<CarrinhoItem>getItens(){
return itens.keySet();
}
public Integer getQuantidade(CarrinhoItem item) {
//verifica se o item não existe, e adiciona ele a lista
if(!itens.containsKey(item)) {
itens.put(item, 0);
}
return itens.get(item);
}
public int getQuantidade() {
return itens.values().stream().reduce(0,
(proximo, acumulador) -> proximo+acumulador);
}
public BigDecimal getTotal(CarrinhoItem item){
return item.getTotal(getQuantidade(item));
}
public BigDecimal getTotal() {
BigDecimal total = BigDecimal.ZERO;
for (CarrinhoItem item : itens.keySet()) {
total = total.add(getTotal(item));
}
return total;
}
}
e ainda não vi nenhuma resposta concreta corrigindo este erro. Fica difícil acompanhar as aulas se temos erros que não são explicados ou sem auxilio com os mesmos.