I think this is an issue with UIData using a very poor algorithm for when it thinks it can drop state, something like "there weren't any errors." The ADF UIXTable code has a better algorithm that doesn't suffer from this problem.
-- Adam On 2/28/06, Michael Youngstrom <[EMAIL PROTECTED]> wrote: > Although I consider myself a rather experienced JSF developer I still > occasionally hit a strange bit of functionality which hit me as > unexpected. Can anyone tell me if the following test case is expected > behavior and if it is expected why is it? (FYI The test below > functions the same in MyFaces and the JSF-RI so I imagine it is a spec > question) > > Given the following test case: > ------------test.jsp------------- > <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %> > <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%> > <f:view> > <h:form> > <h:dataTable value="#{test.values}" var="value"> > <h:column> > <h:message for="item"/> > <h:inputText id="item" required="true" /><br/> > </h:column> > </h:dataTable> > <h:inputText id="item2" /><br/> > <br/> > <h:commandButton value="Submit Me"/> > </h:form> > </f:view> > > -------------------Test.java------------------- > import java.util.ArrayList; > import java.util.List; > > public class Test { > public List getValues() { > List values = new ArrayList(4); > values.add(null); > values.add(null); > values.add(null); > values.add(null); > return values; > } > } > > Basically, if you populate all of the inputText boxes and press > "Submit Me" then the top 4 forget their value but the bottom one does > not. If you only populate a subset of the top 4 boxes (invoking an > invalid state for the table) then all the fields are remembered. > However, once all fields are populated the components in the table > forget their state again when submitted. All the while the bottom > inputText that resides outside the dataTable remembers its state the > whole time. > > Can anyone tell me why the dataTable does not remember the state of > its children always like all other components? > > Mike >
