Чтобы быть последовательным с вашим исходным подходом, вы можете переставить вложенные массивы так, чтобы они выглядели следующим образом:
---BLUE
------2009
---------TOYOTA 10
---------CHEVY 30
------2010
---------TOYOTA 30
---------CHEVY 12
etc
Ваш JSP-код должен выглядеть очень плохо, поскольку нужно перебирать все массивы. Мое предложение будет следующим: создать класс JavaBean, который представляет строку в таблице, и передать список экземпляров этого класса JavaBean в JSP для отображения:
JavaBean
public class ColorRow{
private String color;
private int year;
//...
//getters and setters
}
Servlet / контроллер
List<ColorRow> colorTable = new ArrayList<ColorRow>();
//populate the list
request.setAttribute("colorTable", colorTable);
1012 * JSP *
<c:forEach items="${colorTable}" var="row">
<tr><td>${row.color}</td><td>${row.year}</td><!-- ... --></tr>
</c:forEach>