ResultSet >> List >> JSP

Pessoal o seguinte, tenho uma classe Cidade com os métodos gets e sets e uma ADOCidade com este método

public List selCidades() {
   ResultSet query = null;
   conn = Conexao.getConexao();
   List cidades = new ArrayList();
 
   String sql = "select * from cidade order by nome";
   try {
       pstmt = conn.prepareStatement(sql);
       query = pstmt.executeQuery();
       while (query.next())
       {
         ADOCidade ado = new ADOCidade();
         ado.setId_estado(query.getInt("id_estado"));
         ado.setNome(query.getString("nome"));
         cidades.add(ado);         
       }
       ... fecho o ResultSet e a conexao
   } catch (SQLException sqlex) {
     System.out.println("Erro ao capturar cidades:" + sqlex.getMessage());
   } 
   return cidades;
 }

e tenho um JSP que eu gostaria de percorrer este List, mas não está funcionando

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
 <html>
 <jsp:useBean id="ado" class="br.com.visualsystems.idm.ADOCidade"/>
 
 <c:forEach var="cidade" items="${ado.selCidades}">
   <c:out value="${cidade.nome}"/>
   <c:out value="${cidade.id_estado}"/>
 </c:forEach>

Qual o erro??? E se eu fizer em java, em vez de Taglib como ficaria o código para eu percorrer este list???