File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
The moose likes Struts and the fly likes Server-side validation causing bean data to vanish. Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Spring in Action this week in the Spring forum!
JavaRanch » Java Forums » Frameworks » Struts
Bookmark "Server-side validation causing bean data to vanish." Watch "Server-side validation causing bean data to vanish." New topic
Author

Server-side validation causing bean data to vanish.

Karl Beowulph
Ranch Hand

Joined: May 31, 2004
Posts: 130
Howdy.

I'm not sure why it's happening, but my validation causes all the data on the .jsp to erase (all integers become 0, all Strings become null) if it comes back with an error.

Here's what I have:
Maintain.jsp


I populate the bean with the following, it's in the Action that forwards to maintain.jsp


myDTO is an instance of MaintainDTO, which has the following



It works perfectly when the form first loads, but when validation returns an error, it uses all the default values of MaintainDTO.

Oddly enough, it also calls the reset method of MaintainForm.

Is there anyway I can keep my bean data safe on error?

EDIT: I don't believe I can use Client-side validation either. Part of my validation is a "requiredif" depending on the value of the radio buttons. It gets caught fine with the Server-side, but I can't seem to grab the "requiredif" conditions on switching to client-side.
[ June 01, 2004: Message edited by: Karl Beowulph ]
Jeanne Boyarsky
author & internet detective
Marshal

Joined: May 26, 2003
Posts: 30752
    
156

Karl,
Can you also post the relevant portions of your struts config file? In particular, the form and action tags for this page.


[Blog] [JavaRanch FAQ] [How To Ask Questions The Smart Way] [Book Promos]
Blogging on Certs: SCEA Part 1, Part 2 & 3, Core Spring 3, OCAJP, OCPJP beta, TOGAF part 1 and part 2
Karl Beowulph
Ranch Hand

Joined: May 31, 2004
Posts: 130
Of course.



Edit: I have also tried setting the scope of both my action-mappings to "session" and recieved the same outcome.
[ June 02, 2004: Message edited by: Karl Beowulph ]
Karthik Srinivas
Greenhorn

Joined: May 07, 2008
Posts: 12
I too face the same problem of form bean resetting after a validation files. Can anyone provide a solution?
Merrill Higginson
Ranch Hand

Joined: Feb 15, 2005
Posts: 4864
The answer to this question is in our FAQ. See question 18.


Merrill
Consultant, Sima Solutions
Karthik Srinivas
Greenhorn

Joined: May 07, 2008
Posts: 12
@Merrill Higginson

I went through the FAQ. But the case explained there is where there are two actions, one to display and one to process. Hence, after form validation fails, the display action is called to repopulate the bean(by fetching from database) and then the jsp is displayed.

I have a scenario like this, where there is a user registration form with around 10 fields for user input. I want to retain these values, even after a server-side validation failure. Note that there is no specific action before displaying the form.
Merrill Higginson
Ranch Hand

Joined: Feb 15, 2005
Posts: 4864
Are you using <html:text> tags for the fields in your JSP without value attributes? If not, that's the problem. If you are, and are still getting this problem, please post relevant portions of your JSP, Action class, ActionForm, and struts-config.xml file.
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Server-side validation causing bean data to vanish.