You need to sign in to do that
Don't have an account?

Nested apex:repeat not allowed with table tags
Hello,
I'm trying to render a complex value object (not an sObject) that has nested lists.
When I try to nest the <apex:repeat>, I'm not allowed to save my VF page due an error, "The element type table must be terminated by the matching end-tag </table>. Unfortunately, it is properly ended. It seems like there is some bad parsing, or rules around the use of apex:repeat. Has anyone else had this problem, and are there any reasonable solutions?
<apex:page standardController="Account" extensions="RTEquipmentOnServiceLocationController" showHeader="false" standardStylesheets="true"> <apex:stylesheet value="{!$Resource.DetailPageVFLayoutCSS}"/> <table id="EquipmentTable" border="1"> <apex:repeat value="{!equipmentList}" var="equipmentItem" id="theEquipmentRepeat"> <tr id="EquipmentRow"> <td> <apex:outputText value="{!equipmentItem.SerialNumber}"/> </td> <td> <apex:outputText value="{!equipmentItem.EquipmentStatus}"/> </td> <td> <apex:outputText value="{0,date,yyyy-MM-dd}"> <apex:param value="{!equipmentItem.EquipmentInstallDate}"/> </apex:outputText> </td> <td> <apex:outputText value="{!equipmentItem.EquipmentType}"/> </td> <td> <apex:outputText value="{!equipmentItem.EquipmentMake}"/> </td> <td > <apex:outputText value="{!equipmentItem.EquipmentModel}"/> </td> <td> <apex:outputText value="{!equipmentItem.EquipmentDescription}"/> </td> </tr> <tr> <td colspan="7"> <table id="ComponentTable" border="1"> <apex:repeat value="{!equipmentItem.ComponentList" var="componentItem" id="theComponentRepeat"> <tr> <td> <apex:outputText value="{!componentItem.MACAddress}"/> </td> <td> <apex:outputText value="{!componentItem.EquipmentCategoryDescription}"/> </td> <td> <apex:outputText value="{!componentItem.EquipmentOccurrenceNumber}"/> </td> <td> <apex:outputText value="{!componentItem.EquipmentComponentCode}"/> </td> <td> <apex:outputText value="{!componentItem.EquipmentPort}"/> </td> <td> <apex:outputText value="{!componentItem.EquipmentPortType}"/> </td> <td> <apex:outputText value="{!componentItem.EquipmentRatingCode}"/> </td> <td> <apex:repeat value="{!componentItem.EquipmentServiceList}" var="equipmentServiceItem" id="theEquipmentServiceRepeat"> <apex:outputText value="{!equipmentServiceItem.ServiceIdentifier}"/> - <apex:outputText value="{!equipmentServiceItem.EquipmentServiceCode}"/> <br/> </apex:repeat> </td> </tr> </apex:repeat> </table> </td> </tr> </apex:repeat> </table> </apex:page>
Never mind. I was missing an ending curly brace for one of my "value" attributes, and just got back an erroneous message from SFDC.