You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by ma...@apache.org on 2007/11/08 16:36:15 UTC

svn commit: r593203 - /myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlTableRendererBase.java

Author: manolito
Date: Thu Nov  8 07:36:15 2007
New Revision: 593203

URL: http://svn.apache.org/viewvc?rev=593203&view=rev
Log:
MYFACES-1764
always render <tr><td> if a datatable has no rows to stay html/xhtml dtd conformant

Modified:
    myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlTableRendererBase.java

Modified: myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlTableRendererBase.java
URL: http://svn.apache.org/viewvc/myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlTableRendererBase.java?rev=593203&r1=593202&r2=593203&view=diff
==============================================================================
--- myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlTableRendererBase.java (original)
+++ myfaces/shared/trunk/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlTableRendererBase.java Thu Nov  8 07:36:15 2007
@@ -209,6 +209,17 @@
         UIData uiData = (UIData) component;
         ResponseWriter writer = facesContext.getResponseWriter();
 
+        int rowCount = uiData.getRowCount();
+
+        if (rowCount == 0) {
+            //nothing to render, to get valid xhtml we render an empty dummy row
+            writer.startElement(HTML.TR_ELEM, uiData);
+            writer.startElement(HTML.TD_ELEM, uiData);
+            writer.endElement(HTML.TD_ELEM);
+            writer.endElement(HTML.TR_ELEM);
+            return;
+        }
+
         // begin the table
         // get the CSS styles
         Styles styles = getStyles(uiData);
@@ -216,16 +227,17 @@
         int first = uiData.getFirst();
         int rows = uiData.getRows();
         int last;
+
         if (rows <= 0)
         {
-           last = uiData.getRowCount();
+           last = rowCount;
         }
         else
         {
            last = first + rows;
-           if (last > uiData.getRowCount())
+           if (last > rowCount)
            {
-               last=uiData.getRowCount();
+               last = rowCount;
            }
         }