Input controls will remember their submitted values until they are cleared. Have you made sure that the input text has never posted a value back? If so, calling resetValue() is the correct solution, and not a work-around.
-Andrew On Fri, Feb 27, 2009 at 12:51 AM, <[email protected]> wrote: > Hi. > > We are currently facing and "interesting" problem: > > We have a page that contains one form element with a couple of input > elements and one subform element, the backing bean is session scoped: > > <tr:form> > ... > <tr.commandLink text="New" …/> (--> sets backing bean property that lets > the subform be rendered with value=null) > <tr:subform rendered="#{backing.showSubform}"> > <tr:inputText value="#{backing.value}" required="true"/> > <tr:commandButton text="Submit" action="…..."/> (To save the value and > unrender the subform) > <tr:commandButton text="Cancel" action="……" immediate="true"/> (To > cancel the editing and unrender the subform) > </tr:subform> > <tr:commandLink text="Edit" …/> (--> sets backing bean property that lets > the subform be rendered with value="current Value") > > <tr:commandLink text="Save"…/> (Finally saves the changes) > </tr:form> > > Now we have the following usecases: > A) OK > 1. Form is started > 2. "New" is clicked > 3. subform is shown with empty inputText > > B) OK > 1. Form is started > 2. "Edit" is clicked > 3. subform is shown with "current Value" > > C) NOT OK > 1. Form is started > 2. "Edit" is clicked > 3. "New" is clicked > 4. subform is shown with "current Value" > > D) NOT OK > 1. Form is started > 2. "New" is clicked > 3. "Edit" is clicked > 4. subform is shown with empty inputText > > So what are we missing here? Why is the inputText not re-rendered (we think > because the events are not produced from within the subform)? Some debugging > in the backing bean shows that the "value" property is set correctly - its > just the subform that doesn't get updated > > What we already tried (without success): > - set the subform as "default" -> no change > - remove the subform tags -> "New" or "Edit" is not clickable until the > text field is filled (required) > - set immediate="true" on all relevant links -> No update of the subform > content > - set an id and a binding on the subform element and call > requestContext.addPartialTarget(…) from the backing bean's "new" and "edit" > methods -> No update of the subform content > > What we tried (with success): > - Programatically call resetValue() on all EditableComponents from the > backing bean > --> So this approach works but produces some overhead and is kind of a > "workaround" > > Help is appreciated ;-) > > Regards > Stefan Friedrich >

