Projeto com Struts e Hibernate

estou fazendo um projeto com struts / hibernate utilizando o eclipse. O problema está na hora de exibir os dados que estão no bd na página. Detalhe se eu colocar um system.out.println na action ele imprime os valores no console, embora a jsp não consiga recuperar e exibir os valores, alguém saberia dizer o que há de errado?

[color=blue]No struts-config[/color]

   <action path="/listaFunc" type="my.action.ListaFuncAction">
       <forward name="sucess" path="/pages/listaFunc.jsp" />
   </action>

[color=blue]Action, o while é só para conferir se os valores estavam sendo recuperados do bd[/color]

package my.action;

import java.util.ArrayList;
import java.util.Iterator;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import my.model.BonificacaoAnual;
import my.model.Funcionario;

import org.apache.struts.action.*;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;

public class ListaFuncAction extends Action {

	public ActionForward execute(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response) {
		try {
			Configuration cfg = new Configuration();
			cfg.configure();
			SessionFactory sessionFactory = cfg.buildSessionFactory();
			Session session = sessionFactory.openSession();

			Integer id = new Integer(20);
			Funcionario f = (Funcionario) session.get(Funcionario.class, id);

			request.setAttribute("funcionarios", f.getBonificacoes());
			Iterator iter = f.getBonificacoes().iterator();
			while (iter.hasNext()) {
				BonificacaoAnual boni = (BonificacaoAnual) iter.next();
				System.out.println("Funcionario: " + boni.getValor());
			}
		} catch (Exception ex) {
			System.out.println("Erro ao conectar no bd");
		}
		// return mapping.getInputForward();
		return mapping.findForward("sucess");
	}

}

[color=blue]listaFunc.jsp[/color]

<%@ taglib uri="/tags/struts-bean" prefix="bean" %>
<%@ taglib uri="/tags/struts-html" prefix="html" %>
<%@ taglib uri="/tags/struts-logic" prefix="logic" %>
<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c"%>

<html>	
	<h2>Lista de Funcionarios</h2>	
	
	<c:forEach items="${funcionarios}" var="func">
		<li>${func.valor}</li>		
	</c:forEach>
	
</html>

[color=blue]minha classe funcionario[/color]

package my.model;

import java.util.Collection;
import java.util.Date;

public class Funcionario {

	private Integer id;
	private String nome;
	private int ramal;
	private int matricula;
	private Date admissao;
	private Collection bonificacoes;

getters and setters.................

Ninguém saberia dizer pq a jsp num le os dados da collection? To precisando urgente mesmo.

Eu consegui resolver, embora não do jeito certo. Contudo se eu substituir a tag jstl c:forEach pelo [color=blue]logic:iterate[/color] do Struts funciona, a questão é por que o forEach não funciona? Alguém saberia dizer?