duplicate component id error

i am getting this error despite of giving unique id to each tag in form.

if i remove h:dataTable part from my code it works fine.

below is h:dataTable code which creates error when included

<h:dataTable id = "DT_TDSD" value="#{TDSMAST.tdsDetailList}" var="TDS" width="70%"

first="#{TDSMAST.firstRowIndex}" styleClass="reporttable"

headerClass="reportheader" rowClasses="oddrow,evenrow"

cellspacing="1" cellpadding="2" >

<c:if test="${!TDSMAST.isView}">

<h:column>

<f:facet name="header">

<h:outputText id="SELECT" value="#{LTDS.ch_select}" />

</f:facet>

<h:selectBooleanCheckbox id="CH_SELECT" value="#{TDS.isSelected}" />

</h:column>

</c:if>

<h:column>

<f:facet name="header">

<h:outputText id="SRNO" value="#{LTDS.lbl_sr}" />

</f:facet>

<h:outputText id="SRNO1" value="#{TDS.srNo}" />

</h:column>

<h:column>

<f:facet name="header">

<h:outputText id="GLCODE" value="#{LTDS.lbl_glcode}" />

</f:facet>

<h:inputText id="TF_TDS_GLCODE" value = "#{TDS.tdsdGlCode}"

accesskey="g" size="15" styleClass = "textfield" maxlength = "15"

disabled="#{TDSMAST.isView}"

onblur = "return DtlAjaxValidation(this,'3')"/>

<h:inputText id="TF_TDS_GLDESC" value = "#{TDS.tdsdGlDesc}"

accesskey="g" size="30" styleClass = "textfield" maxlength = "80"

disabled="#{TDSMAST.isView}"

/>

</h:column>

<h:column>

<f:facet name="header">

<h:outputText id="SLCODE" value="#{LTDS.lbl_slcode}" />

</f:facet>

<h:inputText id="TF_TDS_SLCODE" value = "#{TDS.tdsdSlCode}"

accesskey="s" size="15" styleClass = "textfield" maxlength = "15"

disabled="#{TDSMAST.isView}"

onblur = "return DtlAjaxValidation(this,'4')"/>

<h:inputText id="TF_TDS_SLDESC" value = "#{TDS.tdsdSlDesc}"

accesskey="g" size="30" styleClass = "textfield" maxlength = "80"

disabled="#{TDSMAST.isView}"

/>

</h:column>

<h:column>

<f:facet name="header">

<h:outputText id="PER" value="#{LTDS.lbl_tdsper}" />

</f:facet>

<h:inputText id="TF_TDS_PER" value = "#{TDS.tdsdPer}"

accesskey="n" size="6" styleClass = "textfield" maxlength = "6"

disabled="#{TDSMAST.isView}"

onkeypress="return FunNumberMaskNoDecimal(event,true,false);"

onblur="return checkLimit(this);"

/>

</h:column>

<h:column>

<f:facet name="header">

<h:outputText id="CESS" value="#{LTDS.lbl_tdscess}" />

</f:facet>

<h:inputText id="TF_TDS_CESS" value = "#{TDS.tdsdCess}"

accesskey="n" size="6" styleClass = "textfield" maxlength = "6"

disabled="#{TDSMAST.isView}"

onkeypress="return FunNumberMaskNoDecimal(event,true,false);"

onblur="return checkLimit(this);"

/>

</h:column>

<h:column>

<f:facet name="header">

<h:outputText id="LIMIT" value="#{LTDS.lbl_tdslimit}" />

</f:facet>

<h:inputText id="TF_TDS_LIMIT" value = "#{TDS.tdsdLimit}"

accesskey="n" size="12" styleClass = "textfield" maxlength = "12"

disabled="#{TDSMAST.isView}"

onkeypress="return FunNumberMaskNoDecimal(event,true,false);"

/>

</h:column>

<h:column>

<f:facet name="header">

<h:outputText id="SC" value="#{LTDS.lbl_tdssc}" />

</f:facet>

<h:inputText id="TF_TDS_SC" value = "#{TDS.tdsdSc}"

accesskey="n" size="6" styleClass = "textfield" maxlength = "6"

disabled="#{TDSMAST.isView}"

onkeypress="return FunNumberMaskNoDecimal(event,true,false);"

onblur="return checkLimit(this);"

/>

</h:column>

<h:column>

<f:facet name="header">

<h:outputText id="LGTYPE" value="#{LTDS.lbl_legalstatus}" />

</f:facet>

<h:selectOneMenu id = "CB_LEGALSTATUS" value = "#{TDS.tdsdLegalStatus}" styleClass="option"

style="font-family: Verdana; font-size: 8pt; padding: 0" disabled="#{TDSMAST.isView}" >

<f:selectItems id="RB_TDSLEGALSTATLIST"

value="#{TDSMAST.tdsdLsList}" />

</h:selectOneMenu>

<h:inputHidden id="HD_CRDR" value="#{TDS.tdsCrdr}" />

<h:inputHidden id="HD_FLAG" value="#{TDS.tdsFlag}" />

</h:column>

</h:dataTable>

pl help

[4724 byte] By [shila] at [2007-11-27 6:11:56]
# 1
Start off ripping those JSTL tags off from the JSF dataTable.Replace<c:if test="${!TDSMAST.isView}"><h:column>by<h:column rendered="#{!TDSMAST.view}">
BalusCa at 2007-7-12 17:18:39 > top of Java-index,Enterprise & Remote Computing,Web Tier APIs...