Вы не можете вложить такие выражения JSP EL, но это не нужно - правильное выражение:
${columnNames[i].columnName}
i
уже является частью области EL из-за forEach
и должен оцениваться как любая другая переменная в области видимости, например columnNames
.Здесь это просто индекс коллекции.
Хотя я с пониманием отношусь к осознанной необходимости делать такую логику на уровне представления, IMO почти всегда лучше подготовить диапазоны коллекции в Java - это такжелегче проверить.