Problema com JSTL (SQL)

Meu problema é o seguinte, quando eu coloco alguma JSTL de SQL o código SQL está aparecendo como texto na página, oq pode estar acontecendo?
Segue abaixo meu código da JSTL:

<sql:query var="resultado" dataSource="<%= ConnectionFactory.getConnection() %>">
SELECT *(s) FROM aluno
</sql:query>

<table border="1">
<!-- column headers -->
<tr>
<c:forEach var="columnName" items="${resultado.columnNames}">
<th><c:out value="${columnName}"/></th>
</c:forEach>
</tr>
<!-- column data -->
<c:forEach var="row" items="${resultado.rowsByIndex}">
<tr>
<c:forEach var="column" items="${row}">
<td><c:out value="${column}"/></td>
</c:forEach>
</tr>
</c:forEach>

Estou utilizando JEE 5.0 e netbeans 6.0.

Fugindo um pouco do foco do sua questao.

Não seria melhor um servlet enviar uma lista de objetos para sua pagina jsp exibir ?

Com certeza seria, deixar a JSP “suja” é uma tremenda “desordem”, mas nesse caso é um trabalho academico e estou com pressa em terminar, só quero a funcionalidade…