Puede agregar una variable en el bucle para registrar el número de bucles y mostrarlo como un número de línea:
<c:if test="${not empty employees}">
<c:forEach var="employee" items="${employees}" varStatus="status">
<tr>
<td>${status.count}</td>
<td>${employee.empno}</td>
<!-- other columns -->
</tr>
</forEach>
</
varStatus="status" define un estado de objeto de estado, que tiene un atributo de recuento que puede registrar el número actual de ciclos.
Cada línea puede mostrar directamente ${status.count} para generar el número de línea.
Además, también puede utilizar subíndices para registrar:
<c:if test="${not empty employees}">
<c:forEach var="employee" items="${employees}" varStatus="status" begin="1">
<tr>
<td>${status.index}</td>
<!-- other columns -->
</tr>
</forEach>
</
comenzar="1" comienza a contar desde 1. status.index es el índice que comienza en 1.
Ambos métodos facilitan agregar una columna de número de fila a cada fila de la tabla.