Boa tarde pessoal, estou com um problema chato e não estou sabendo resolver.
Estou fazendo um combo de Estado que ao ter um escolhido carrega um outro combo com as Cidades daquele Estado.
Eu já tinha feito algo parecido em um outro projeto e resolvi reaproveitar.
no script .js eu faço uma requisição ajax para uma Servlet passando como parâmetro o uf do estado selecionado.
ele entra na Servlet direitinho, pega as Cidades que pertencem ao Estado selecionado, só que quando eu vou iterar
o List para adicionar em um JsonArray ele simplesmente lança uma exceção que eu não consigo entender.
O que eu realmente acho estranho é que no outro sistema está funcionando perfeitamente. Se alguém puder me ajudar
a resolver esse problema ficarei muito grato.
Segue a Servlet e a exceção que estourou.
public class CarregarCidades extends HttpServlet {
protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = null;
String estado = request.getParameter("estado");
List<Cidade> listaCidades = null;
JSONArray jsonArray = null;
JSONObject object = null;
try {
out = response.getWriter();
SessionFactory fabricaSessao = HibernateSessionFactory.getSessionFactory();
Session sessao = fabricaSessao.openSession();
Criteria criterio = sessao.createCriteria(Cidade.class);
criterio.createAlias("estado", "estado");
criterio.add(Restrictions.eq("estado.sigla", estado));
listaCidades = criterio.list();
jsonArray = new JSONArray();
if (listaCidades != null) {
for(Cidade cidade: listaCidades){
jsonArray.add(cidade); // linha que estoura a exception
}
}else {
jsonArray.add("Erro");
}
} catch (Exception ex) {
ex.printStackTrace();
System.out.println("=====================================================================================================");
System.out.println(ex.getMessage());
System.out.println("=====================================================================================================");
} finally {
out.print(jsonArray);
out.close();
}
}
----------------------------------------------------------------------- Exception Lançada --------------------------------------------------------------------------------
