Sto creando una JSP in cui mostro una lista di progetti che vengono creati tramite degli elementi card di Bootstrap.
A questa JSP ci si arriva tramite una Servlet che è un ascolto sulla url di root ("/") dell'intero progetto.

Il metodo doGet della servlet è così formato:

codice:
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        List<Project> projects=new ArrayList<>();
        projects.add(new Project("progetto 1","Javascript","descrizione progetto 1"));
        projects.add(new Project("progetto 2","Javascript","descrizione progetto 2"));
        projects.add(new Project("progetto 3","Java","descrizione progetto 3"));
                request.setAttribute("projects", projects);
        request.getRequestDispatcher("index.jsp").forward(request, response);
    }
Il codice della JSP che costruisce l'elenco dei progetti è il seguente:

codice:
<c:forEach var="project" items="${projects}">
    <div class="card border-primary mb-3" style="max-width: 20rem;" wfd-id="72">
       <div class="card-header" wfd-id="74">Header</div>
       <div class="card-body" wfd-id="73">
       <h4 class="card-title">Primary card title</h4>
       <p class="card-text">Some quick example text to build on the card title and make up the bulk of the card's content.</p>
       </div>
   </div>
</c:forEach>
Naturalmente ho inserito la taglib.
Il problema che ho, è che la lista ${projects} risulta essere vuota ma non capisco il perchè.