Este tutorial os enseñará cómo conseguir que los colores de las líneas (<TR>) de una tabla alternen el color. También servirá a los no iniciados en JSP (o en programación en general), que utilizar otros códigos que no sean html ni javascript es más fácil de lo que parece.

Como Manuel es un experto en ASP, yo me he aliado del lado contrario y voy a mostraros cómo se hace en JSP

Pasos:
una vez creado el comportamiento "Repeat region", deberemos buscar la etiqueta que crea. Buscaremos en el código algo así (pinchar en la zona donde hemos aplicado el comportamiento nos puede ayudar, ya que selecciona el código correspondiente). En mi caso mi recordset se llama "noticias":

<% while ((noticias_hasData)&&(Repeat1__numRows-- != 0)) { %>
<table width="100%" border="0" cellspacing="0" cellpadding="10">
<tr>
<td>contenido</td>
</tr>
</table>

<%
Repeat1__index++;
noticias_hasData = noticias.next();
}%>

Para empezar, podríamos modificarlo un poco, para que cada vez que repita el registro, no cree una tabla nueva, sino una fila. Esto es un pequeño "vicio" que tiene UD: aplicar el comportamiento a toda la tabla en vez de a una fila, por lo menos cuando yo lo utilizo:

<table>
<% while ((noticias_hasData)&&(Repeat1__numRows-- != 0)) { %>
<tr>
<td>contenido</td>
</tr>

<%
Repeat1__index++;
noticias_hasData = noticias.next();
}%>

</table>

Fijaos que hemos sacado las etiquetas <table></table> del bucle.

Vayamos ahora, después del retoque, a lo nuestro. Necesitaremos primero de todo crear una variable. Para ello, colocaremos encima del comienzo del bucle una etiqueta que genere una variable:

<table>
<% int miContador = 0; %>
<% while ((noticias_hasData)&&(Repeat1__numRows-- != 0)) { %>

<tr>
<td>contenido</td>
</tr>

<%
Repeat1__index++;
noticias_hasData = noticias.next();
}%>

</table>

Ahora sólo nos queda, crear una etiqueta que sume al contador y si la fila de la tabla es par ponga un color y si es impar ponga otro. El código resultante sería:

<table>
<% int miContador = 0; %>
<% while ((noticias_hasData)&&(Repeat1__numRows-- != 0)) { %>

<tr
<%
miContador++;
if (miContador % 2 == 1)
out.print("bgcolor=#CCCCCC");
else
out.print("bgcolor=#FFFFFF");
%>

>
<td>contenido</td>
</tr>

<%
Repeat1__index++;
noticias_hasData = noticias.next();
}%>

</table>

Fijaos en como ha quedado la etiqueta <tr>: hemos insertado la etiqueta jsp dentro de ella (por eso parece que está mal cerrada: si os fijáis, se cierra más abajo, antes de <td>).

Para los que no sabéis de programación: ¿qué hace la etiqueta?.Sencillo:
1.-Se comienza a escribir la etiqueta. La etiqueta queda de momento en <tr
2.- El servidor suma uno a "miContador"
3.- El servidor obtiene el resto de dividirlo por 2
4.- Si el resto es 1 (número impar), el servidor escribe bgcolor=#CCCCCC. La etiqueta queda de momento en <tr bgcolor=#CCCCCC
5.- Si el resto no es 1 (numero par), el servidor escribe bgcolor=#FFFFFF. La etiqueta queda de momento en <tr bgcolor=#FFFFFF
6.- Se cierra la etiqueta. La etiqueta queda <tr bgcolor=#CCCCCC> ó <tr bgcolor=#FFFFFF>