Estou querendo exibir os estados e algumas cidades desses estados em minha jsp, mas está exibindo somente os estados, as cidades estao ficando em branco…onde posso estar errando?
EstadoCidadeAction.java
public ActionForward show(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response)
{
EstadoForm ef = (EstadoForm) form;
Collection estados = EstadoDAO.listar();
Collection cidades = CidadeDAO.listar(ef.getCodigo());
request.setAttribute("estados", estados);
request.setAttribute("cidades", cidades);
return mapping.findForward("sucesso");
}
index.jsp
<% taglib uri="/WEB-INF/c.tld" prefix="c" %>
<c:forEach var="est" items="${estados}">
${est.nome}
<c:forEach var="cid" items="${cidades}">
${cid.nome}
</c:forEach>
</c:forEach>
pelo q eu entendi, vc quer mostrar um estado e depois suas cidades, eh isso? pra funcionar dessa forma, em cada objeto da Colection estados, deve ter uma Colection de Cidades dentro…por exemplo, na Colection estados, o primeiro Objeto eh um objeto do tipo Estado, e esse objeto teria isso:
public class Estado(){
private int id;
private String sigla;
private String nome;
private Colection cidades;
//getters e setters
}
no seu método EstadoDAO.listar() teria q ter um loop para cada vez q popular um objeto Estado, vc executar o método CidadeDAO.listar(codEstado)…tendeu?
quando vc usa o Hibernate, vc pode configurar pra ele fazer isso por vc, mas aih ja eh outra historia…
na JSP ficaria assim:
<% taglib uri="/WEB-INF/c.tld" prefix="c" %>
<c:forEach var="est" items="${estados}">
${est.nome}
<c:forEach var="cid" items="${est.cidades}">
${cid.nome}
</c:forEach>
</c:forEach>
espero ter ajudado…
flw
Fiz assim, mas ainda n testa mostrando as cidades p cada estado:
MapaAction
Collection categorias = FactoryBO.getCategoriaBO().listar();
Collection secoes = null;
Iterator it = categorias.iterator();
while(it.hasNext()){
CategoriaForm cf = (CategoriaForm) form;
secoes = FactoryBO.getSecaoBO().listar(cf.getCodigo());
request.setAttribute("secoes", secoes);
}
request.setAttribute("categorias", categorias);
Alguém pode dar um help???