shale-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Torsten Krah <>
Subject Re: Submitted values lost - view is "refilled" everytime with model values
Date Thu, 26 Apr 2007 17:38:04 GMT
Hm did many Debug Points.

My RequestParameterMap got the entered values.
They are applied to my components in Phase 2 - setLocalValueSet is
called with set = true.

Now Phase 3 fails and Lifecycle goes to Phase 6.
Now a fresh tree is rendered , because my components does not got a
local value set - although the RestoreViewExecutor:

		Application application = facesContext.getApplication();
		ViewHandler viewHandler = application.getViewHandler();

		// boolean viewCreated = false;
		UIViewRoot viewRoot = viewHandler.restoreView(facesContext, viewId);
		if (viewRoot == null) {
			viewRoot = viewHandler.createView(facesContext, viewId);
			// viewCreated = true;

does call the restoreView and the viewRoot is not null.
If the view gets restored, why are the components "empty"?

I am a little bit confused now, i've missed something, but dont know
where to look now.

The PhaseListener is doing the flow story and seems to work correct - i
hope i did not missunderstand things.

Any hints?


Am Donnerstag, den 26.04.2007, 15:51 +0000 schrieb Gary VanMatre:
> >Got a problem with clay and flowScoped Spring beans.
> >
> >My view is everytime filled with the model values. The submitted values
> >are lost.
> >
> >I can enter some data in my input fields and submit the form - if i left
> >some required input fields empty, a message appears that something is
> >missing, so far so good.
> >However, the same field which i left empty - and all others i may have
> >changed - are now populated again with values from my bean.
> >
> >What might cause this? I thought the component should remember this
> >value and display this instead of the beans model value. Lifecycle
> >stopped processing at Validation phase, so the components should not be
> >cleared, any idea or tipps to debug this?
> >
> I took a look at the webflow javadoc [1].  It looks like they are using a couple tricks
for saving the FlowExecution.  The FlowPhase listener [2] adds a non-visual component to the
view root to keep state.  It also adds the flow execution key to the view root.It looks like
the flow key is used to restore the FlowExecution.  I suspect the problem you are seeing has
to do with the state not being resorted for the current flow on the postback.  I would try
setting some break points in the FlowPhaseListener.         
> [1]
> [2]
> >Torsten
> Gary

View raw message