Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
1.1.9
-
None
-
myfaces 1.2.8, tiles 2.0.7, richfaces 3.3.3.beta1
Description
The class org.apache.myfaces.shared_tomahawk.renderkit.html.HtmlTableRendererBase produces invalid html if a row is not available.
AJAX calls may fail in this case if invalid html is returned.
See method encodeInnerHtml:
for(int nr = 0; nr < newspaperRows; nr++){
...
for(int nc = 0; nc < newspaperColumns; nc++) {
...
if(!uiData.isRowAvailable())
if (nc == 0)
{ ... renderRowStart(facesContext, writer, uiData, styles, nr); }...
}
renderRowEnd(facesContext, writer, uiData);
There is a break in link 295 and the inner loop is left. renderRowStart is not called but renderRowEnd is called!
FIX:
The call of "renderRowEnd(facesContext, writer, uiData)" must be in the inner loop as last statement (1 line before the current position)