Thank you.
Jeromy Evans - Blue Sky Minds wrote: > > If <s:property> if failing to show any data this can only mean the data > is blank (unlikely) or the object is not available on the Value Stack. > If we look at your two use cases: > Case 1.data is posted to your application, the params are set in your > action and your action is invoked. Your code in the action validates > the values and sets an actionError. You return a result and the JSP is > rendered including the user data and validation data. Everything is fine. > > Case 2. data is posted to your application, the params are set in your > action and the xml validation interceptor is invoked. The interceptor > validates the values, sets an actionError and returns the input result. > The JSP is rendered including the validation data but the user data is > blank. > > The key difference is that in case 2 your action is never invoked so the > user data is never prepared/loaded for the JSP. Clearly you need some > way to ensure the user data is loaded without actually invoking action. > One such approach is to use the "Prepare Interceptor" [1] that is > typically invoked prior to validation. > > The key issue to understand is that if validation fails within the > interceptor your action is instantiated but not invoked. You have to > ensure that when your result calls the getter the data is available to it. > > Hope that helps, > Jeromy Evans > > [1] http://struts.apache.org/2.x/docs/prepare-interceptor.html > [2] http://struts.apache.org/2.x/docs/interceptors.html > > dfaulcon wrote: >> I have an interesting problem that I'm dealing with in regards to struts >> 2 >> validation. I have XML validation setup throughout my application that >> appear to work fine. The validation returns the appropriate error >> messages >> when needed. However I have a user object that is created when a person >> logs into this application. This object contains their login, business, >> etc. When any page loads the business name and login are displayed at >> the >> top of the page. The code snippet below shows how I'm displaying the >> user >> information using the property tag: >> <s:property value="user.getBusiness()"/><br /> >> User: <s:property value="user.getLogin()"/> </td> >> >> However when a user is returned to that page due to an error caught by >> the >> validation logic the "user" information is never displayed. In my action >> form the "user" object has getter and setter methods defined. If I >> validate >> any data in the action class and set the actionError the error message is >> displayed along with the user object information. Is there anything I >> missed why the "user" object information will now show up when XML >> validation is used? Thanks. >> >> > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > > -- View this message in context: http://www.nabble.com/Struts-2-Validation-issue-tp15365657p15403293.html Sent from the Struts - User mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]