Boa noite galera, eu to procurando sobre isso o dia todo e não consegui solucionar esse problema…
Vamos lá, eu tenho uma lista que peguei do JPA e enviei para localhost. Ai tem 10 itens lá todos ordenados pelo seu ID com suas datas de publicação, eu quero fazer um filtro via GET pra por na página pra caso eu queira colocar todos os itens que foram publicados antes do dia 17/08/2015 e aí vão aparecer todos esses itens. Não sei como fazer pra ficar assim itens?data=2015/08/17.
Estou usando o spring e tentei buscar esse parametro com @requestparam porém não sei como buscar esse parametro na jsp, como por ele na url e etc…
Assim está meu JSP
<form:form action="${s:mvcUrl('RPC#relatorio').build()}" method="get" commandName="data" enctype="multipart/form-data">
<td>Filtro por data: </td>
<td><input type="date"><button formmethod="get" type="submit">Checar</button></td>
</form:form>
Assim está meu Controller
@Controller
public class RelatorioController {
@Autowired
private ProdutoDAO dao;
@GetMapping(value="/relatorio")
public ModelAndView relatorio(@RequestParam(value="data") @DateTimeFormat(pattern="yyyy-MM-dd") Calendar data) {
ModelAndView modelAndView = new ModelAndView("relatorioProduto");
Calendar cal = Calendar.getInstance();
modelAndView.addObject("dataGeracao" ,cal);
List<Produto> produtos = dao.listar();
modelAndView.addObject("produto", produtos);
return modelAndView;
}
}
Assim está meu ProdutoDAO
public List listar() {
return manager.createQuery(“select distinct§ from Produto p join fetch p.precos”, Produto.class)
.getResultList();
}
Você está no caminho certo, só não sei se o Calendar é aceito, mas Date é.
Você pretende fazer o select e depois filtrar ou vai usar a data como parâmetro em uma consulta no banco de dados?