Rendering 2D array sin <h: dataTable />

Estoy tratando de mostrar una matriz 2D como una tabla en una página. Sé que esto suena como si estuviera reinventando la rueda, pero el objeto que tengo que manejar es una matriz 2D de un tipo personalizado que también debe representarse de una manera particular (siempre la misma).

La parte difícil es que esta matriz 2D puede tener valores nulos en algunos de sus índices. En esos casos, una celda "no disponible" particular debe ser renderizada. La estructura de la mesa (sí ...<table> <tr> y<td>) ya fue definido por elEquipo de diseño y aceptado por el cliente.

He tratado de usar<c:forEach/> pero se metió en problemas al intentar que funcionara, debido al orden en que se administran las etiquetas JSTL y JSF. Cuando se manejan las etiquetas JSF, hay algunos problemas que incluyen valores desactualizados y componentes faltantes.

La matriz (atributo de un@ViewScoped frijol) siempre es nulo cuando<c:forEach/> Se invoca, incluso cuando fuerzo la creación de la matriz:

public MyObject[][] getMatrix() {
    if(loadedMatrix == null)
        initializeMatrix();
    return loadedMatrix.getTable();
}

losinitializeMatrix() El método obtiene los datos correspondientes de la base de datos e invoca la lógica que crea la matriz 2D, haciendo queloadedMatrix haz referencia a él una vez que se haya creado (todo esto funciona, sin excepciones ni errores). CuandoinitializeMatrix acabadosloadedMatrix es todavíanull.

Fui por el anidado<c:forEach/> Opción porque necesito administrar los índices de la tabla para saber qué procesar (si el objeto es nulo, tiene un indicador de disponibilidad establecido en falso o si se puede representar normalmente), pero hasta ahora creo que la solución más segura es crear un componente personalizado.

Mi pregunta es: ¿Qué alternativas tengo para representar el contenido de una matriz 2D como una tabla al mismo tiempo que estoy al tanto de los índices que estoy representando?

Gracias por adelantado

Respuestas a la pregunta(1)

Su respuesta a la pregunta