Umm... This one <html:text property= "userName" /> pulls data from
userName property of a form bean. So if the form bean has session
scope, the value will be retained..

This one <html-el:text property= "portfolioName"
value="${portfolioName}"/> pulls value from portfolioName, you need to
check where this object is stored, in what scope. You are right, if
this object has request or page scope, then it will be wiped out after
redirect.

Michael.

On 5/6/05, David Johnson <[EMAIL PROTECTED]> wrote:
> Hmm 
>   
> I'm now officially confused (and on a Friday no less). I've set the
> scope="session" but when I get back from the validate() my values are STILL
> gone 
>   
> Also, a separate question, how is what we're talking about different from my
> login screen where if the user puts a userID in but no password, they get a
> validate() error , but the userID is populated with whatever they'd
> previously typed. 
>   
> the one difference I see is that I'm namually populating fields in the non
> working form. 
>   
> So, this does NOT work unpopulated after validate():
> <html-el:text property= "portfolioName" value="${portfolioName}"/> 
>   
> this DOES work (populated after validate()
> <html:text property= "userName" /> 
> 
> am I stupidly OVERRIDING struts' behavior?  I know there's a simple solution
> to this.... 
> 
>   
> On 5/6/05, Michael Jouravlev <[EMAIL PROTECTED]> wrote: 
> > This is how Spring's RedirectView (or ViewRedirect? whatever) works.
> > They have notion of "model" which is usually a Map. You stuff your 
> > data in it, and it is appended automatically as a payload to
> > redirected request. Struts does not do this.
> > 
> > If you had Struts appending all form data to the redirected request,
> > your would be able to use the page only within a strict sequence of 
> > requests. If you jumped out from the page and browse somewhere else,
> > you lose request data. If then you navigate to your page through
> > browser navigation bar, you would see that you form is empty (at best.
> > At worst, you get validation error). 
> > 
> > Spring transfers viewstate in the request, just like ASP.NET. I do not
> > think this is a good idea.
> > 
> > I think that it is much more flexible to pass ID of an object that you
> > want to display, in the redirected request. Then your output action 
> > would load this object from the database (better from the RAM cache)
> > and display it. Thus, the action would not care how it was called:
> > directly, indirectly or through redirect. It just receives object ID
> > in the request, loads object, fills out the form, and shows JSP. 
> > Pretty straightforward.
> > 
> > Or, instead of fiddling with redirection request, just set
> > scope="session" in your <action> element in struts-config.xml. Then
> > form bean will retain all values for you. 
> > 
> > On 5/6/05, David Johnson <[EMAIL PROTECTED]> wrote:
> > > here's a question. The way I thought it would work is that under the
> covers
> > > and before redirecting BACK to the page (assuming validate() fails) I 
> > > thought it would take all the form attributes and put them back on the
> > > request to provide all the same data the original page was provided
> with....
> > >
> > > but I'm seeing that's not the case. :(
> > 
> 
> 
> 
> -- 
> -Dave
> [EMAIL PROTECTED]

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to