package controlador; import java.io.UnsupportedEncodingException; import java.net.URLEncoder; import modelo.Filme; import persistencia.FilmeDAO; import spark.ModelAndView; import spark.Request; import spark.Response; import spark.Spark; import spark.TemplateViewRoute; public class SalvaControlador implements TemplateViewRoute { private FilmeDAO dao = new FilmeDAO(); @Override public ModelAndView handle(Request req, Response resp) { Filme filme = new Filme(); filme.setNumero(req.queryMap("numero").integerValue()); filme.setTitulo(req.queryMap("titulo").value()); filme.setAno(req.queryMap("ano").integerValue()); filme.setGenero(req.queryMap("genero").value()); if (filme.getTitulo().length() < 3) { // inválido String erro = ""; try { erro = URLEncoder.encode("Título deve ter pelo menos 3 caracteres", "UTF-8"); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } resp.redirect("/novo?erro=" + erro); } else { // válido dao.save(filme); resp.redirect("/lista"); } // if (filme.getTitulo().length() < 3) { // inválido // Spark.halt(400, "Título deve ter pelo menos 3 caracteres"); // } else { // válido // dao.save(filme); // resp.redirect("/lista"); // } return null; } }