Как отобразить таблицу с 2 столбцами в виде таблицы с 4 столбцами с помощью JSTL c:forEach

#jsp #html-table #jstl

Вопрос:

Здесь я вижу таблицу с 50 строками и 2 столбцами, но я хочу сделать ее 25 строками с 4 столбцами, как я могу это сделать?

 <table class="table table-striped">
    <tr>
        <th>State Name</th>
        <th>Number of users</th>
                                                                
    </tr>
<c:forEach items="${stateuserCount}" var="obj"> 
      <tr >
      
        <td>${obj.stateName}</td>
        <td>${obj.appCount}</td> 
        
      </tr> 
    </c:forEach>
 </table>
 

Вместо того, чтобы каждое состояние отображалось в одной строке и столбце, я хочу, чтобы оно отображалось под двумя разными таблицами с половиной состояния с одной стороны и другой половиной с другой.

введите описание изображения здесь

Комментарии:

1. Таким образом, вы создадите проблему доступности. Было бы лучше решить эту проблему с помощью CSS.

2. Можете ли вы показать исключенный вывод ?

3. @Swati Я показал ожидаемый результат в вопросе.

Ответ №1:

Вы можете добавить еще 2 столбца в ту же таблицу

 <%
    int totalRows = stateuserCount.length/2;
%>
<table class="table table-striped">
    <tr>
        <th>State Name</th>
        <th>Number of users</th>
        <th>State Name</th>
        <th>Number of users</th>                                                                
    </tr>

<c:forEach var="i" begin="0" end="${totalRows - 1}"> 
      <tr >
      
        <td>${stateuserCount[i].stateName}</td>
        <td>${stateuserCount[i].appCount}</td> 
        <td>${stateuserCount[i totalRows].stateName}</td>
        <td>${stateuserCount[i totalRows].appCount}</td>         
      </tr> 
    </c:forEach>
 </table>
 

Или у вас могут быть две таблицы рядом друг с другом с аналогичной логикой.
Вам просто нужно вывести stateuserCount[i TotalRows] для второй таблицы.