[MÚSICA] Olá a todos! Então, estamos aqui na segunda parte do nosso Hands on onde estamos montando aqui oráculo mineiro que diz os melhores produtos. No vídeo passado a gente parou aqui no nosso Servlet, onde agora a gente vai pegar o parâmetro, chamar regra de negócios no model e passar o controle para uma view. Certo? Então a primeira coisa aqui, eu tenho que pegar aqui da minha página, o valor aqui que ele escolheu o produto. Então vou vir aqui, vou pegar aqui, tipo produto, então vou ver aqui, request ponto get parameter, certo? E vou pegar aqui o parâmetro produto. Tem que ser também o mesmo nome lá do controle Html lá do formulário e ele está mandando que se chama produto. Agora eu vou chamar a regra de negócio. Então o que é que eu vou fazer? Eu vou criar oraculo, chamar de oraculo mesmo. New oraculo certo? Vou pegar aqui a minha lista de string, chamar aqui de produtos e vou chamar o oraculo ponto melhores produtos e aí eu passo o tipo do produto ali como parâmetro para ele. Aqui preciso importar a minha lista, aqui, antes de passar o controle para view, eu ainda tenho que fazer uma coisa, eu tenho que colocar essa lista de produtos disponível para que a minha view possa acessar ela. Então como é que eu faço isso? Colocando no escopo adequado, nesse caso vai ser o escopo do próprio request. Então setAttribute eu vou chamar aqui de produtos e vou passar aqui a lista de produtos, muito cuidado com esses nome, que se você errar a string ele não vai encontrar. Então, aqui eu faço request ponto getRequestDispatcher, vou passar aqui o nome da jsp que eu ainda não criei, mas vou chamar de resposta ponto jsp e dou forward. Então ele vai passar aqui o controle para essa resposta jsp, que é o que está faltando fazer aqui agora. Então vou vir aqui, novo jsp, eu vou chamar aqui de resposta, cuidado para não botar a resposta jsp, se você olhar aqui baixo ele já cria, ele já bota o ponto jsp. Certo? Então, vou finalizar ele já cria aqui modelinho, já vou colocar aqui resposta dos melhores produtos. Então aqui os melhores produtos do tipo aí aqui ele pode colocar, eu vou usar o expression language para ele pegar lá o produto, lá do, vou até botar umas hashtag aqui, para ficar bacanudo. Certo? Então, do tipo tal são. Então, ele vai me listar aqui. Bom para pegar aquela lista e imprimir de uma forma legal eu vou criar aqui uma another list, e aqui eu vou colocar cada dos itens. Só que para isso, eu preciso importar aqui aquela minha tag lib for each. Então eu vou vir aqui, sorte que o NetBeans já me facilita bastante. Certo? O prefixo eu vou colocar c de core e a minha uri, ele já facilita aqui, vamos ver se eu vou pegar certo, eu acho que é esse jstl core. Não lembro se é o rt ou não, eu vou pegar aqui a princípio só o core, vamos ver se ele funciona direitinho. Então, c forEach, ele já está aqui certo? Var é a variável, eu vou chamar de item e o items é qual é a variável, então eu vou colocar aqui, eu acho que ele, aqui é só Vamos tentar aqui, produtos é aquele nome que eu coloquei lá. Certo? Vou fechar aqui o meu forEach, volta para cá, manda ele para cá e aqui eu vou usar mais uma vez expression language para escrever item certo? Vamos ver o que é que ele está reclamando aqui. Está, ele falou que não aceita expressões aqui quando não aceita expressões, quer dizer que eu importei aqui a versão errada. Agora ele vai aceitar. Pronto. Está? Então vamos ver agora se funciona? Então eu vou vir aqui, vou executar novamente a minha aplicação, certo? Ele está abrindo aqui. Que tipo de produto você quer saber os melhores? Vou perguntar o doce de leite. Ele está rodando, então os melhores produtos do tipo, não colocou nada, são Viçosa e Boreal. Vamos arrumar aqui, do tipo, esse produto aqui não está imprimindo, eu vou colocar aqui param ponto produto. Agora ele vai, que eu estou querendo pegar o parâmetro do produto. Então acho que ele vai. Vamos voltar aqui então, e tentar pegar aqui para o queijo mineiro. Então vamos vir aqui, queijo mineiro, vou perguntar certo? Então ele editou, ele imprimiu aquele do tipo queijos mineiros, então, Candido Tostes, Humaitá e o da minha tia Totônia, que é sem igual. Certo? Então, espero que sem igual também tenha sido o aprendizado de vocês aqui, aprendendo a estruturar as camadas do seu software de acordo com o MVC. Muito obrigado. Até à próxima aula! [MÚSICA]