Erro taglibs em JSP

Boa noite pessoal, há dois dias venho buscando encontrar uma solução para o erro a baixo, mas não consegui resolve-lo das maneiras propostas.

  1. O exercício é listar os contatos persistido no meu banco de dados através das taglibs do tipo core. (Exercício 7.7 da apostila Caelum fj21).

    1.1. Criei minha Java Bean conforme a baixo:

public class Contato {
public Long id;
public String nome;
public String email;
public String endereco;
public Calendar dataNascimento;

public Long getId() {
	return id;
}

public void setId(Long id) {
	this.id = id;
}

public String getNome() {
	return this.nome;
}

public void setNome(String nome) {
	this.nome = nome;
}

public String getEmail() {
	return email;
}

public void setEmail(String email) {
	this.email = email;
}

public String getEndereco() {
	return endereco;
}

public void setEndereco(String endereco) {
	this.endereco = endereco;
}

public Calendar getDataNascimento() {
	return dataNascimento;
}

public void setDataNascimento(Calendar dataNascimento) {
	this.dataNascimento = dataNascimento;
}

}

1.2 - Segue o método de listar os contatos da minha DAO:

public List getLista() {
try {
List contatos = new ArrayList();
PreparedStatement stmt = this.connection.prepareStatement(“select * from contatos”);

		ResultSet rs = stmt.executeQuery();

		while(rs.next()) {
			Contato contato = new Contato();
			//popula o objeto contato
			contato.setId(rs.getLong("id"));
			contato.setNome(rs.getString("nome"));
			contato.setEmail(rs.getString("email"));
			contato.setEndereco(rs.getString("endereco"));

			//popula a data de nascimento do contato, fazendo a conversao
			Calendar data = Calendar.getInstance();
			data.setTime(rs.getDate("dataNascimento"));
			contato.setDataNascimento(data);

			//adiciona o contato na lista
			contatos.add(contato);
		}

		rs.close();
		stmt.close();

		return contatos;
	} catch (SQLException e) {
		throw new RuntimeException(e);
	}
}

1.3 - Segue minha JSP de listagem:

<%@ taglib uri = “http://java.sun.com/jsp/jstl/core” prefix =“c” %>
<%@ page language=“java” contentType="text/html; charset=ISO-8859-1"
pageEncoding=“ISO-8859-1”%>

Lista de Contatos Taglib
<body>

	<!-- Primeiramente iremos instanciar nossa dao para que possamos manipular os dados -->
	
	<jsp:useBean id="dao" class="br.com.caelum.agenda.dao.ContatoDao"/>
	
	<!-- Agora vamos iterar sobre a lista trazida pelo método dao em "contato"  -->
	
	
	<table>
		<c:forEach var="contato" items="S{dao.lista}">
		<tr>
			<td>${contato.nome}</td>
			<td>${contato.email}</td>
			<td>${contato.endereco}</td>
			<td>${contato.dataNascimento.time}</td>
		</tr>
		</c:forEach>
	</table>
</body>

1.4 - Segue o erro:

fev 17, 2016 10:57:49 PM org.apache.catalina.core.StandardWrapperValve invoke
GRAVE: Servlet.service() for servlet [jsp] in context with path [/fj21-agenda] threw exception [An exception occurred processing JSP page /lista-contato.jsp at line 27

24:


25: <c:forEach var=“cont” items=“S{dao.lista}”>
26:
27:
28:
29: </c:forEach>
30:
${cont.nome}

Stacktrace:] with root cause
javax.el.PropertyNotFoundException: Property ‘nome’ not found on type java.lang.String
at javax.el.BeanELResolver$BeanProperties.get(BeanELResolver.java:229)
at javax.el.BeanELResolver$BeanProperties.access$400(BeanELResolver.java:206)
at javax.el.BeanELResolver.property(BeanELResolver.java:317)
at javax.el.BeanELResolver.getValue(BeanELResolver.java:85)
at org.apache.jasper.el.JasperELResolver.getValue(JasperELResolver.java:104)
at org.apache.el.parser.AstValue.getValue(AstValue.java:183)
at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:185)
at org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:1026)
at org.apache.jsp.lista_002dcontato_jsp._jspx_meth_c_005fforEach_005f0(lista_002dcontato_jsp.java:140)
at org.apache.jsp.lista_002dcontato_jsp._jspService(lista_002dcontato_jsp.java:99)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

2.0 - Aparentemente seria um erro na EL que busca dados através do método getNome, mas não consigo identificar um erro equivalente. Já apaguei o cache do servidor (pasta work), mas mesmo assim o erro impera. O que não estou vendo?

Agradeço antecipadamente.

"c:forEach var="contato" items="S{dao.lista}" E esse S perdido ? "c:forEach var="contato" items="${dao.lista}"

http://docs.oracle.com/javaee/1.4/tutorial/doc/JSTL4.html

Era isso mesmo igomes, que falta de atenção a minha!

Obrigado pela ajuda!