Olá, estou com dúvida em como refatorar este código para um Switch case. Eu fiz todos apenas com else if, mas agora, preciso melhorá-lo.
Código a ser refatorado:
if (acao == null || acao.isEmpty()) {
resp.sendRedirect("/cadastroweb");
} else if (acao.equals(CADASTRO)) {
req.getRequestDispatcher("cadastro.jsp").forward(req, resp);
} else if (acao.equals(CONSULTA)) {
try {
List<Usuario> usuarios = new UsuarioServico().listar();
req.setAttribute("usuarios", usuarios);
req.getRequestDispatcher("consulta.jsp").forward(req, resp);
} catch (Exception e) {
throw new ServletException(e);
}
} else if (acao.equals(EXCLUSAO)) {
try {
List<Usuario> usuarios = new UsuarioServico().listar();
req.setAttribute("usuarios", usuarios);
req.getRequestDispatcher("exclusao.jsp").forward(req, resp);
} catch (Exception e) {
throw new ServletException(e);
}
} else if (acao.equals(EXCLUIR)) {
String id = req.getParameter("id");
Usuario usuario = new Usuario();
usuario.setId(Integer.valueOf(id));
try {
new UsuarioServico().excluir(usuario);
req.setAttribute("mensagem", "Usuário excluído com sucesso!");
req.getRequestDispatcher("/sucesso.jsp").forward(req, resp);
} catch (Exception e) {
throw new ServletException(e);
}
} else if (acao.equals(ALTERACAO)) {
try {
List<Usuario> usuarios = new UsuarioServico().listar();
req.setAttribute("usuarios", usuarios);
req.getRequestDispatcher("alteracao.jsp").forward(req, resp);
} catch (Exception e) {
throw new ServletException(e);
}
}else if (acao.equals(CARREGAR_ALTERACAO)) {
req.getRequestDispatcher("alterar.jsp").forward(req, resp);
}
}