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:43:46 UTC

svn commit: r593208 - /myfaces/shared/trunk_3.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlTableRendererBase.java

Author: manolito
Date: Thu Nov  8 07:43:45 2007
New Revision: 593208

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

Modified:
    myfaces/shared/trunk_3.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlTableRendererBase.java

Modified: myfaces/shared/trunk_3.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlTableRendererBase.java
URL: http://svn.apache.org/viewvc/myfaces/shared/trunk_3.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlTableRendererBase.java?rev=593208&r1=593207&r2=593208&view=diff
==============================================================================
--- myfaces/shared/trunk_3.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlTableRendererBase.java (original)
+++ myfaces/shared/trunk_3.0.x/core/src/main/java/org/apache/myfaces/shared/renderkit/html/HtmlTableRendererBase.java Thu Nov  8 07:43:45 2007
@@ -231,6 +231,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);
@@ -238,16 +249,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;
            }
         }