Hi Volker, I just tried returning null from the action method, and the entered values of the inputTextarea and selectBooleanCheckbox are preserved, but not the selection of the selectOneRadio component!
Regards, Matthias > -----Ursprüngliche Nachricht----- > Von: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] Auftrag > von Matthias Kahlau > Gesendet: Sonntag, 1. Januar 2006 23:12 > An: MyFaces Discussion > Betreff: AW: AW: AW: EditableValueHolder rendering behavior / Restore > View > > > Hi Volker, > > > thanks for your support. I didn't know that the view is newly created. Do > you know a source where this is documented (apart from the source code)? > > > Regards, > > Matthias > > > -----Ursprüngliche Nachricht----- > > Von: [EMAIL PROTECTED] > > [mailto:[EMAIL PROTECTED] Auftrag > > von Volker Weber > > Gesendet: Sonntag, 1. Januar 2006 22:52 > > An: MyFaces Discussion > > Betreff: Re: AW: AW: EditableValueHolder rendering behavior / Restore > > View > > > > > > Hi Matthias, > > > > i think the problem is the return value of your action method. > > > > I'm not really sure, so please correct me if the following is incorrect. > > > > If a action method returns a value != null the navigation cames in, then > > a new view is created, also if the new viewId is the same as the old > > one. If the action method returns null the old view is rerendered. > > > > The reason for persistent value in one of your components is the > > component binding. > > > > Try returning null in deleteAuswMoeglichkeiten(). > > > > Regards > > Volker > > > > Matthias Kahlau wrote: > > > Hi! > > > > > > Happy new year :) > > > > > > > > > Here are the code snippets: > > > > > > -------------- > > > The JSF page: > > > -------------- > > > ... > > > > > > <h:form> > > > > > > ... > > > > > > <%-- the inputTextarea which is rendered empty again after the > > JSF page is > > > redisplayed --%> > > > <h:panelGroup> > > > <h:outputLabel for="fragetext" > > > value="Frage*: " > > > styleClass="formLabelTop" > > > lang="de" > > > title="Textfeld zur Eingabe der Frage" /> > > > <t:inputTextarea id="fragetext" > > > value="#{EinfAuswFrageBacking.einfAuswFrage.fragetext}" > > > required="true" > > > cols="100" > > > rows="3" > > > title="Textfeld zur Eingabe der Frage"> > > > <f:validateLength maximum="256" /> > > > </t:inputTextarea> > > > <f:verbatim><br/></f:verbatim> > > > <h:message for="fragetext" > > > styleClass="error" > > > lang="de" > > > title="Fehlermeldung für das Frage Textfeld" /> > > > </h:panelGroup> > > > > > > <%-- the selectBooleanCheckbox which is rendered empty again > > after the JSF > > > page is redisplayed --%> > > > <h:panelGroup> > > > <h:outputLabel for="mussFrage" value="Antwort erforderlich: " > > > styleClass="formLabel" > > > lang="de" > > > title="Auswahlfeld zur Angabe, ob die Antwort > > erforderlich ist" /> > > > <t:selectBooleanCheckbox id="mussFrage" > > > value="#{EinfAuswFrageBacking.einfAuswFrage.mussFrage}" > > > required="false" > > > lang="de" > > > title="Auswählen, falls Antwort erforderlich" /> > > > <h:outputText escape="false" value=" Ja, Frage muss > > beantwortet > > > werden" > > > styleClass="formText" > > > lang="de" > > > title="Auswählen, falls Antwort erforderlich" /> > > > </h:panelGroup> > > > > > > <%-- the selectOneRadio which is rendered empty again after the > > JSF page is > > > redisplayed --%> > > > <h:panelGrid columns="1"> > > > <t:column> > > > <h:outputLabel for="auswMoeglichkeitRadios" > > > value="Auswahlmöglichkeiten anzeigen:" > > > styleClass="formLabel" > > > lang="de" > > > title="Anzeigeeigenschaften der Auswahlmöglichkeiten" /> > > > <f:verbatim><br/></f:verbatim> > > > <t:selectOneRadio id="auswMoeglichkeitRadios" > > > value="#{EinfAuswFrageBacking.auswMoeglichkeitOpt}" > > > required="true" > > > layout="spread" > > > styleClass="formText" > > > lang="de" > > > title="Radiobuttons zur Auswahl der Anzeigeeigenschaften der > > > Auswahlmöglichkeiten"> > > > <f:selectItems > > > value="#{EinfAuswFrageBacking.auswMoeglichkeitOptions}" /> > > > </t:selectOneRadio> > > > </t:column> > > > > > > <%-- the inputText which is NOT rendered empty again after the > > JSF page is > > > redisplayed (the value entered is rendered) --%> > > > <t:column> > > > <t:radio for="auswMoeglichkeitRadios" index="0" /> > > > <t:inputText id="anzahlSpalten" > > > binding="#{EinfAuswFrageBacking.inputTextAnzahlSpalten}" > > > value="#{EinfAuswFrageBacking.einfAuswFrage.spalten}" > > > required="false" > > > readonly="false" > > > disabled="false" > > > maxlength="2" > > > size="2" > > > title="Textfeld zur Eingabe der Spaltenanzahl" > > > immediate="false"> > > > <f:validateLongRange minimum="1" maximum="12" /> > > > </t:inputText> > > > <h:outputText escape="false" > > > value=" (1 bis 12)" > > > styleClass="formText" > > > lang="de" > > > title="Zahlenbereich ist 1 bis 12" /> > > > <f:verbatim><br/></f:verbatim> > > > <h:message for="anzahlSpalten" > > > styleClass="error" > > > lang="de" > > > title="Fehlermeldung für das Spaltenanzahl Textfeld" /> > > > </t:column> > > > > > > <t:column> > > > <t:radio for="auswMoeglichkeitRadios" index="1" /> > > > </t:column> > > > </h:panelGrid> > > > > > > > > > <%-- the dataTable from which rows are deleted with the button > > below --%> > > > <t:dataTable id="dataTableAuswahlmoeglichkeiten" > > > binding="#{EinfAuswFrageBacking.dataTable}" > > > value="#{EinfAuswFrageBacking.auswMoeglichkeitenModel}" > > > var="row" > > > renderedIfEmpty="true" > > > preserveDataModel="false"> > > > > > > <t:column width="30"> > > > <t:selectBooleanCheckbox > > binding="#{EinfAuswFrageBacking.checkbox}" > > > required="false" > > > lang="de" > > > title="Auswahlmoeglichkeit auswählen zum Löschen" > > > immediate="false" /> > > > </t:column> > > > > > > ... > > > > > > </t:dataTable> > > > > > > > > > <%-- the action button to delete rows with --%> > > > <h:commandButton value="Auswahl Entfernen" > > > action="#{EinfAuswFrageBacking.deleteAuswMoeglichkeiten}" > > > immediate="true" /> > > > > > > ... > > > > > > </h:form> > > > > > > ... > > > > > > ----------------------------------------------------------------- > > > The action method of the EinfAuswFrageBacking.java Backing-Bean: > > > ----------------------------------------------------------------- > > > > > > public String deleteAuswMoeglichkeiten() { > > > List toDelete = this.getSelectedAuswMoeglichkeiten(); > > > Iterator it = toDelete.iterator(); > > > > > > while (it.hasNext()) { > > > this.auswMoeglichkeitenList.remove(it.next()); > > > } > > > > > > > > > int size = this.auswMoeglichkeitenList.size(); > > > for (int i = 0; i < size; i++) { > > > Auswahlmoeglichkeit am = > > > (Auswahlmoeglichkeit)this.auswMoeglichkeitenList > > > .get(i); > > > > > > am.setAuswahlindex(new Integer(i + 1)); > > > } > > > > > > > > > this.checkbox.setSelected(false); > > > > > > return Constants.ACTION_SUCCESS; > > > } > > > > > > > > > ---------------- > > > faces-config.xml: > > > ---------------- > > > > > > <navigation-rule> > > > <from-view-id>/Management/Fragen/EinfAuswFrage.jsp</from-view-id> > > > <navigation-case> > > > > > > <from-action>#{EinfAuswFrageBacking.deleteAuswMoeglichkeiten}</from-action > > > > > > <from-outcome>success</from-outcome> > > > > > <to-view-id>/Management/Fragen/EinfAuswFrage.jsp</to-view-id> > > > </navigation-case> > > > </navigation-rule> > > > > > > > > > > > > By the way: the inputTextarea is not the only component which > > is rendered > > > empty when the page is redisplayed after submitting it > > non-empty - it also > > > happens to the selectBooleanCheckbox, and to the > > selectOneRadio, but not to > > > the inputText, which renders the value entered before > > submitting the page > > > (In my last email, I spuriously wrote that the inputText is > > rendered empty, > > > but it actually was an inputTextarea!). > > > > > > > > > Regards, > > > > > > Matthias > > > > > > > > >>-----Ursprüngliche Nachricht----- > > >>Von: [EMAIL PROTECTED] > > > >>[mailto:[EMAIL PROTECTED] Auftrag > > >>von Volker Weber > > >>Gesendet: Samstag, 31. Dezember 2005 13:22 > > >>An: MyFaces Discussion > > >>Betreff: Re: AW: EditableValueHolder rendering behavior / Restore View > > >> > > >> > > >>Hi, > > >> > > >>Matthias, can you post the relevant jsf code, and the > > >>action/actionListener code? > > >> > > >>This may help us to see what's wrong. > > >> > > >>Regards > > >> Volker > > >> > > >>Matthias Kahlau wrote: > > >> > > >>>Hi Simon, > > >>> > > >>> > > >>> > > >>>>Perhaps your button is inside a different form from the one > containing > > >>>>your input text? HTML only supports submitting one form, so all > > >>>>components in other forms will see their input as missing, ie > > will have > > >>>>their submitted value reset.. > > >>> > > >>> > > >>>Actually not - all components are contained in the same form.... > > >>> > > >>>Looks buggy.... > > >>> > > >>> > > >>>Regards, > > >>> > > >>>Matthias > > >>> > > >>> > > >>> > > >>> > > >>>>-----Ursprüngliche Nachricht----- > > >>>>Von: [EMAIL PROTECTED] > > >>>>[mailto:[EMAIL PROTECTED] > > m Auftrag > > >>>>von Simon Kitching > > >>>>Gesendet: Samstag, 31. Dezember 2005 05:33 > > >>>>An: MyFaces Discussion > > >>>>Betreff: Re: EditableValueHolder rendering behavior / Restore View > > >>>> > > >>>> > > >>>>Matthias Kahlau wrote: > > >>>> > > >>>> > > >>>>>Hi all! > > >>>>> > > >>>>> > > >>>>>I have an non-immediate inputText in my form, and an immediate > > >>>> > > >>>>commandButton > > >>>> > > >>>> > > >>>>>to delete some selected rows in a table. When the user enters > > >>>> > > >>>>some text in > > >>>> > > >>>> > > >>>>>the inputText and deletes some rows after that, the same > JSF page is > > >>>>>redisplayed, but the inputText is empty again. Why isn't the > > >>>> > > >>>>submitted value > > >>>> > > >>>> > > >>>>>of the inputText rendered? > > >>>> > > >>>>It will be in the usual case. > > >>>> > > >>>>Perhaps your button is inside a different form from the one > containing > > >>>>your input text? HTML only supports submitting one form, so all > > >>>>components in other forms will see their input as missing, ie > > will have > > >>>>their submitted value reset.. > > >>>> > > >>>>Regards, > > >>>> > > >>>>Simon > > >>> > > >>> > > >>-- > > >>Don't answer to From: address! > > >>Mail to this account are droped if not recieved via mailinglist. > > >>To contact me direct create the mail address by > > >>concatenating my forename to my senders domain. > > > > > > > > > > -- > > Don't answer to From: address! > > Mail to this account are droped if not recieved via mailinglist. > > To contact me direct create the mail address by > > concatenating my forename to my senders domain. >

