I can’t see my Range< LocalDate > array in the JSP page. What did I do wrong?
If jsp pages were born to merge html and java, why are scriptlets not recommended? However I found a suggestion where I am advised to use out.print within a scriptlet, but I should instantiate the Parlamentare class, I don’t understand why my for doesn’t work.
parlamentari.jsp
<h2>Lista dei parlamentari:</h2>
<form action="getParlamentari">
<c:forEach items="${parlamentari}" var="parlamentare">
<tr>
<td>Periodi delle cariche:</td>
<c:forEach items="${parlamentare.periodi_cariche}"
var="periodo_carica">
<table>
<tr>
<td>Periodo carica:</td>
<td><c:out value="${periodo_carica}"/></td>
</tr>
</table>
</c:forEach>
</tr>
</table>
</c:forEach>
</form>
ParlamentareController.java
@Controller
@ComponentScan({"com.giuggiola.controller"})//poi toglilo
public class ParlamentareController //extends
AbstractController<Parlamentare>
{
@Autowired
ParlamentareRepository parlamRepo;
//@RequestMapping("/parlamentari")
@RequestMapping("/")
public ModelAndView home(Parlamentare parlamentare)
{
ModelAndView mv= new ModelAndView();
Iterable<Parlamentare> parlamentari = parlamRepo.findAll();
mv.addObject("parlamentari",parlamentari);
mv.setViewName("parlamentari.jsp");
return mv;//"home.jsp";
}
Parlamentare.java
@NotFound(action = NotFoundAction.IGNORE)
@OneToMany(mappedBy="parlamentare", cascade=CascadeType.ALL,
orphanRemoval=true, targetEntity=Range2.class)
@Type(type = "list-array")
@Column(
name = "periodi_cariche",
columnDefinition = "daterange[]"
)
private List<Range<LocalDate>> periodi_cariche = new
ArrayList<Range<LocalDate>>();
Range2.java
@Id
@DateTimeFormat(pattern="dd-MM-yyyy")
private Range<LocalDate> periodo;