I just can't get the x:inputText tag to work in my
custom component the way that I need it to. This
seems like a very simple set of tags, but I can't get
it to work.
Here is the JSP. If I comment out my row tag it
works.
<cjsf:rptTable>
<cjsf:data id="dataTable1"
value="#{allAuthUser.tableRows}" var="myTableRow1">
<!-- cjsf:row -->
<cjsf:col>
<x:inputText id="tableTestFld"
value="#{myTableRow1.testFld}" size="5"
maxlength="5"/>
</cjsf:col>
<!-- /cjsf:row -->
</cjsf:data>
</cjsf:rptTable>
This is the HTML generated for the previous JSP.
<table id="tblmaintForm:body:_id12">
<tbody id="tblmaintForm:body:dataTable1">
<tr>
<td
id="tblmaintForm:body:dataTable1_0:_id13"><input
id="tblmaintForm:body:dataTable1_0:tableTestFld"
name="tblmaintForm:body:dataTable1_0:tableTestFld"
type="text" value="1" maxlength="5" size="5"/></td>
</tr>
<tr>
<td
id="tblmaintForm:body:dataTable1_1:_id13"><input
id="tblmaintForm:body:dataTable1_1:tableTestFld"
name="tblmaintForm:body:dataTable1_1:tableTestFld"
type="text" value="2" maxlength="5" size="5"/></td>
</tr>
<tr>
<td
id="tblmaintForm:body:dataTable1_2:_id13"><input
id="tblmaintForm:body:dataTable1_2:tableTestFld"
name="tblmaintForm:body:dataTable1_2:tableTestFld"
type="text" value="3" maxlength="5" size="5"/></td>
</tr>
<tr>
<td
id="tblmaintForm:body:dataTable1_3:_id13"><input
id="tblmaintForm:body:dataTable1_3:tableTestFld"
name="tblmaintForm:body:dataTable1_3:tableTestFld"
type="text" value="4" maxlength="5" size="5"/></td>
</tr>
<tr>
<td
id="tblmaintForm:body:dataTable1_4:_id13"><input
id="tblmaintForm:body:dataTable1_4:tableTestFld"
name="tblmaintForm:body:dataTable1_4:tableTestFld"
type="text" value="5" maxlength="5" size="5"/></td>
</tr>
<tr>
<td
id="tblmaintForm:body:dataTable1_5:_id13"><input
id="tblmaintForm:body:dataTable1_5:tableTestFld"
name="tblmaintForm:body:dataTable1_5:tableTestFld"
type="text" value="6" maxlength="5" size="5"/></td>
</tr>
<tr>
<td
id="tblmaintForm:body:dataTable1_6:_id13"><input
id="tblmaintForm:body:dataTable1_6:tableTestFld"
name="tblmaintForm:body:dataTable1_6:tableTestFld"
type="text" value="7" maxlength="5" size="5"/></td>
</tr>
<tr>
<td
id="tblmaintForm:body:dataTable1_7:_id13"><input
id="tblmaintForm:body:dataTable1_7:tableTestFld"
name="tblmaintForm:body:dataTable1_7:tableTestFld"
type="text" value="8" maxlength="5" size="5"/></td>
</tr>
</tbody>
</table>
When I include the row tag it doesn't work. The
update model values phase doesn't call my set method.
I'm wondering if it is because the inputText tag is
now buried another level down from the data table and
it doesn't support this some how.
Well, here is my JSP.
<cjsf:rptTable>
<cjsf:data id="dataTable1"
value="#{allAuthUser.tableRows}" var="myTableRow1">
<cjsf:row>
<cjsf:col>
<x:inputText id="tableTestFld"
value="#{myTableRow1.testFld}" size="5"
maxlength="5"/>
</cjsf:col>
</cjsf:row>
</cjsf:data>
</cjsf:rptTable>
This is the generated output. As you can see the
output is almost identical. The only difference it
seems to me is that the tr tag is now a component in
the tree. But I can't see that it would make a
difference.
<table id="tblmaintForm:body:_id12">
<tbody id="tblmaintForm:body:dataTable1">
<tr id="tblmaintForm:body:dataTable1_0:_id13">
<td
id="tblmaintForm:body:dataTable1_0:_id14"><input
id="tblmaintForm:body:dataTable1_0:tableTestFld"
name="tblmaintForm:body:dataTable1_0:tableTestFld"
type="text" value="" maxlength="5" size="5"/></td>
</tr>
<tr id="tblmaintForm:body:dataTable1_1:_id13">
<td
id="tblmaintForm:body:dataTable1_1:_id14"><input
id="tblmaintForm:body:dataTable1_1:tableTestFld"
name="tblmaintForm:body:dataTable1_1:tableTestFld"
type="text" value="" maxlength="5" size="5"/></td>
</tr>
<tr id="tblmaintForm:body:dataTable1_2:_id13">
<td
id="tblmaintForm:body:dataTable1_2:_id14"><input
id="tblmaintForm:body:dataTable1_2:tableTestFld"
name="tblmaintForm:body:dataTable1_2:tableTestFld"
type="text" value="" maxlength="5" size="5"/></td>
</tr>
<tr id="tblmaintForm:body:dataTable1_3:_id13">
<td
id="tblmaintForm:body:dataTable1_3:_id14"><input
id="tblmaintForm:body:dataTable1_3:tableTestFld"
name="tblmaintForm:body:dataTable1_3:tableTestFld"
type="text" value="" maxlength="5" size="5"/></td>
</tr>
<tr id="tblmaintForm:body:dataTable1_4:_id13">
<td
id="tblmaintForm:body:dataTable1_4:_id14"><input
id="tblmaintForm:body:dataTable1_4:tableTestFld"
name="tblmaintForm:body:dataTable1_4:tableTestFld"
type="text" value="" maxlength="5" size="5"/></td>
</tr>
<tr id="tblmaintForm:body:dataTable1_5:_id13">
<td
id="tblmaintForm:body:dataTable1_5:_id14"><input
id="tblmaintForm:body:dataTable1_5:tableTestFld"
name="tblmaintForm:body:dataTable1_5:tableTestFld"
type="text" value="" maxlength="5" size="5"/></td>
</tr>
<tr id="tblmaintForm:body:dataTable1_6:_id13">
<td
id="tblmaintForm:body:dataTable1_6:_id14"><input
id="tblmaintForm:body:dataTable1_6:tableTestFld"
name="tblmaintForm:body:dataTable1_6:tableTestFld"
type="text" value="" maxlength="5" size="5"/></td>
</tr>
<tr id="tblmaintForm:body:dataTable1_7:_id13">
<td
id="tblmaintForm:body:dataTable1_7:_id14"><input
id="tblmaintForm:body:dataTable1_7:tableTestFld"
name="tblmaintForm:body:dataTable1_7:tableTestFld"
type="text" value="" maxlength="5" size="5"/></td>
</tr>
</tbody>
</table>
I was wondering if anyone else had any ideas as to why
the x:inputText tag won't work at the level that I
need it to?
Thanks,
Ray
__________________________________
Do you Yahoo!?
The all-new My Yahoo! - What will yours do?
http://my.yahoo.com