The code snippet was not the full one. But the issue was values not getting passed to action. It got fixed by putting the below line of code in JSP. This way I will get values through form in action.
<logic:iterate name="monthlyGainLossForm" property="ptcList" id="productTaxCat">
<html:hidden name="productTaxCat" property="ptcId" indexed="true" />
<html:hidden name="productTaxCat" property="ptcName" indexed="true" />
<html:hidden name="productTaxCat" property="ptcActive" indexed="true" />
<mf:tr>
<mf:td><bean:write name="productTaxCat" property="ptcName"/></mf:td>
<mf:td><bean:write name="productTaxCat" property="ptcActive"/></mf:td>
<mf:td><html:checkbox name="productTaxCat" property="msaPtcLtcGLType" styleClass="input" indexed="true"/></mf:td>
<mf:td><html:text name="productTaxCat" property="msaPtcLtcGLAmt" styleClass="label" style="width:100px;vertical-align:middle;" disabled="true" indexed="true"/></mf:td>
<mf:td><html:checkbox name="productTaxCat" property="msaMthlyStcGLType" styleClass="input" indexed="true"/></mf:td>
<mf:td><html:text name="productTaxCat" property="msaMthlyStcGLAmt" disabled="true" styleClass="label" style="width:100px;vertical-align:middle;" indexed="true"/></mf:td>
<mf:td><html:checkbox name="productTaxCat" property="nonMsaPtcGLType" styleClass="input" indexed="true"/></mf:td>
<mf:td><html:text name="productTaxCat" property="nonMsaPtcGLAmt" disabled="true" styleClass="label" style="width:100px;vertical-align:middle;" indexed="true"/></mf:td>
<mf:td><html:checkbox name="productTaxCat" property="nonMsaStcGLType" styleClass="input" indexed="true"/></mf:td>
<mf:td><html:text name="productTaxCat" property="nonMsaStcGLAmt" disabled="true" styleClass="label" style="width:100px;vertical-align:middle;" indexed="true"/></mf:td>
</mf:tr>
</logic:iterate>