Estou fazendo ainda a primeira funcionalidade que é fazer uma busca pro data e imprimir todos os produtos a partir da data que inserir em formato json. Logo a minha dúvida em como configurar o input para receber do tipo calendar para, segue abaixo os métodos e classe que criei:
No xml relatorio-produtos.jsp:
<div class="container">
<form:form action="${s:mvcUrl('RPC#dataJson').arg(0,produtos.dataLancamento).build()}" modelAttribute="dataLancamento">
<div class="form-group">
<label>Data</label>
<input type="date" pattern="dd-MM-yyyy" name="dataLancamento">
<form:erros path="dataLancamento"/>
</div>
<button type="submit" class="btn btn-primary">Procurar</button>
</form:form>
</div>
No ProdutoDAO.java:
public List<Produto> findData(Calendar dataLancamento) {
TypedQuery<Produto> query = manager.createQuery("Select p from Produto p where p.dataLancamento = :dataLancamento",Produto.class)
.setParameter("dataLancamento",dataLancamento);
return query.getResultList();
e a classe RelatorioProdutoController.java na qual criei:
package br.com.casadocodigo.loja.controllers;
import java.util.Calendar;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import br.com.casadocodigo.loja.dao.ProdutoDAO;
import br.com.casadocodigo.loja.models.Produto;
@Controller
@RequestMapping("/relatorio-produtos")
public class RelatorioProdutosController {
@Autowired
private ProdutoDAO produtoDao;
@RequestMapping(value = "/relatorio-produtos")
public String listaData() {
return "relatorio-produtos";
}
@RequestMapping("/")
@ResponseBody
public List<Produto> dataJson(@ModelAttribute("dataLancamento") Calendar dataLancamento) {
System.out.println(dataLancamento);
return produtoDao.findData(dataLancamento);
}
}