Since I have a forEach loop nested inside another that doesn't work for me, I read that I have to use methods to access variables in jsp, but my method needs the index i to read the array element and I pass it to it as an argument, then my forEach turns into a simple for, but the parliamentari.size() variable is not recognized, the jsp variable in java how does it transform?
for(int i = 0; i < ${parlamentare.getPk().getCircoscrizione();};
i++) { %>
Parlamentare.java
public String getElement(String[] a, int n) {
return a[n] ;
}
ListaParlamentari.java
public ModelAndView doPost()//(Parlamentare parlamentare)
{
ModelAndView mv= new ModelAndView();
List<Parlamentare> parlamentari =parlamRepo.findAll();
mv.addObject("parlamentari",parlamentari);
mv.setViewName("lista_parlamentari.jsp");
return mv;
}
lista_parlamentari.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" isELIgnored="false"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ page import="com.giuggiola.entity.Parlamentare" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Lista parlamentari</title>
</head>
<body>
<h2>Lista dei parlamentari:</h2>
<form method="POST" action="lista_parlamentari.jsp">
<c:forEach items="${parlamentari}" var="parlamentare">
<table>
<tr>
<td>Nome:</td>
<td><c:out value="${parlamentare.getPk().getNome()}"/></td> <!-- se non funziona
prova con getPk().getNome() -->
</tr>
<tr>
<td>Partito:</td>
<td><c:out value="${parlamentare.getPk().getPartito()}"/></td> <!-- se non funziona
prova con getPk().getPartito() -->
</tr>
<tr>
<td>Circoscrizione:</td>
<!-- for(int i = 0; i < ${parlamentare.getPk().getCircoscrizione();}; i++) { %> -
->
<c:forEach items="${parlamentare.getPk().getCircoscrizione()}" var="CIRCOSCRIZIONE">
<!-- se non funziona prova con getPk().getCircoscrizione() -->
<td><c:out value="${CIRCOSCRIZIONE.getElement(CIRCOSCRIZIONE,i)}"/><br></td> <!--
parlamentari.get(i).getCircoscrizione().getElement(a,1); -->
</c:forEach>
</tr>
<tr>
<td>Data di nascita:</td>
<td><c:out value="${parlamentare.getData_nascita()}"/><br></td>
</tr>
<tr>
<td>Luogo:</td>
<td><c:out value="${parlamentare.getLuogo()}"/><br></td>
</tr>
<tr>
<td>Titolo di studi:</td>
<td><c:out value="${parlamentare.getTitolo_studi()}"/><br></td>
</tr>
<tr>
<td>Mandati:</td>
<c:forEach items="${parlamentare.getMandati()}" var="mandato">
<table>
<tr>
<td>Mandato:</td>
<td><c:out value="${mandato}"/></td>
</tr>
</table>
</c:forEach>
</tr>
<tr>
<td>Commissioni:</td>
<c:forEach items="${parlamentare.getCommissioni()}" var="commissione">
<table>
<tr>
<td>Commissione:</td>
<td><c:out value="${commissione.getElement(commissione,i)}"/></td>
</tr>
</table>
</c:forEach>
</tr>