We're using MyFaces with Tomahawk and are seeing some strange behavior
that appears to be related to t:dataList and certain types of form
elements.
 
Suppose you have a form with code like this:
 
    ...
    <h:selectBooleanCheckbox value="#{myBean.boxNotInDataList}"/>
    ...
    <t:dataList value="#{myBean.things}" var="oneThing">
        ...
        <h:selectBooleanCheckbox value="#{oneThing.boxInDataList}">
        ...
    </t:dataList>
    ...
 
Note that one checkbox is outside of the dataList, the other is inside
the dataList.
 
Suppose I were to do this:
 
    * display the form
    * select both checkboxes
    * click submit
 
I would find that the value of the checkbox that is inside the
t:dataList is ignored -- the value of myBean.boxInDataList would NOT be
set to "true". The checkbox outside of the t:dataList would work just
fine.
 
Stranger still, if I were to:
 
    * display the form
    * select both checkboxes
    * do something that will cause a validation error (e.g. leave a
required field blank)
    * click submit
 
Then I would find that when the form was redisplayed with the
validation error message, the checkbox within the t:dataList would NOT
be checked. The checkbox that is outside of the t:dataList would
properly remember that I had checked it.
 
Strangest of all, if I were to:
 
    * display the form
    * select both checkboxes
    * do something that will cause a validation error (e.g. leave a
required field blank)
    * click submit
    * observe on the redisplayed form that the checkbox in the
t:dataList is not checked
    * reselect the checkbox
    * correct the validation error
    * resubmit the form
 
Then I would find that the value of the checkbox in the t:dataList is
NO LONGER IGNORED.
 
What the...?
 
Is this a bug in MyFaces Tomahawk or is there something subtle going on
here that I'm missing?  We've seen similar behavior from t:commandLink
and t:inputFileUpload when they are inside t:dataList.
 
We're using MyFaces 1.1.3, Tomahawk 1.1.2, Java 5, and Tomcat 5.5.

Reply via email to