Nadia, Are you sure you have the 3 important pieces?
A) a struts-config.xml (or module) define message resources file? Mine is the file WEB-INF/classes/application.properties, which contains the line: errors.required={0} is required. My struts-config.xml includes this resource with the line: <message-resources parameter="application" null="true" /> B) Have you put a 'default' error message in your ActionForm's validate() method for testing purposes so your method does not end with: return(errors); but with: errors.add("countryName", new ActionError("errors.required","Country Name")); return(errors); C) You have JSP Code like this: <logic:messagesPresent> <ul> <html:messages id="error"> <li><bean:write name="error"/></li> </html:messages> </ul> </logic:messagesPresent> I got this to work but only AFTER I made sure I had step A configured properly. Since you used property key names when you added each error instead of using the Globals.ERROR key, a.k.a. the string "error". You added each item under keys like "countryName" and "countryCapital" so you could access them individually like this: <logic:messagesPresent> <ul> <html:messages id="error" property="countryName"> <li><bean:write name="error"/></li> </html:messages> </ul> </logic:messagesPresent> AND <logic:messagesPresent> <ul> <html:messages id="error" property="countryCapital"> <li><bean:write name="error"/></li> </html:messages> </ul> </logic:messagesPresent> Regards, David -----Original Message----- From: Nadia Kunkov [mailto:[EMAIL PROTECTED] Sent: Wednesday, October 13, 2004 1:20 PM To: Struts Users Mailing List Subject: RE: Newbie <html:errors/> never displays errors Nooo... I guess that's it! I thought you need to call saveErrors only when you create ActionErrors inside Action and not in Validate... Here is my Action (I'm using DispatchAction): public ActionForward Add (ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest req, HttpServletResponse res) throws Exception { javax.sql.DataSource dataSource; dataSource = (DataSource) servlet.getServletContext().getAttribute(org.apache.struts.Globals.DATA_SOUR CE_KEY); CountryService countryService = new CountryService(); CountryDTO country = new CountryDTO(); BeanUtils.copyProperties( country,(AddCountryNewForm) actionForm); countryService.addCountry(country,dataSource); return actionMapping.findForward("newcountrylisting"); } Where do I save the errors generated by the validate? Thanks -----Original Message----- From: David G. Friedman [mailto:[EMAIL PROTECTED] Sent: Wednesday, October 13, 2004 1:10 PM To: Struts Users Mailing List Subject: RE: Newbie <html:errors/> never displays errors Did you call saveErrors() or saveMessages() in your Action to save the messages into the (request) scope for use in the JSP? -----Original Message----- From: Nadia Kunkov [mailto:[EMAIL PROTECTED] Sent: Wednesday, October 13, 2004 12:59 PM To: Struts Users Mailing List Subject: RE: Newbie <html:errors/> never displays errors Yes, here is what I tried: <logic:messagesPresent> <ul> <html:messages id="error" name="countryName"> <li><bean:write name="error"/></li> </html:messages> </ul> </logic:messagesPresent> I get an error: can't find bean "error" in any scope :( This drives me nuts. Thanks for helping me. -----Original Message----- From: David G. Friedman [mailto:[EMAIL PROTECTED] Sent: Wednesday, October 13, 2004 12:56 PM To: Struts Users Mailing List Subject: RE: Newbie <html:errors/> never displays errors Nadia, The bean:write's name attribute must match the id parameter of the html:messages tag. That's why I suggested your html:messages tag be: <html:messages id="error" name="countryName"> This means it should pull the errors from the area "countryName" and present them for the bean:write tag to use as the name "error" (see id=".."). Have you tried this yet? Regards, David -----Original Message----- From: Nadia Kunkov [mailto:[EMAIL PROTECTED] Sent: Wednesday, October 13, 2004 12:46 PM To: Struts Users Mailing List Subject: RE: Newbie <html:errors/> never displays errors Here is my jsp: ...... ..... <form:submit property="method" value="Add"></form:submit> </form:form> <logic:messagesPresent> <ul> <html:messages id="error" > <li><bean:write name="countryName"/></li> </html:messages> </ul> </logic:messagesPresent> </body> </html:html> Thanks for your help -----Original Message----- From: David G. Friedman [mailto:[EMAIL PROTECTED] Sent: Wednesday, October 13, 2004 12:35 PM To: Struts Users Mailing List Subject: RE: Newbie <html:errors/> never displays errors Please show your JSP code. I think this should have worked: <logic:messagesPresent> <ul> <html:messages id="error" name="countryName"> <li><bean:write name="error"/></li> </html:messages> </ul> </logic:messagesPresent> Remember, the "id" is essentially the key you give to the bean:write but the name="" attribute is what messages key to retrieve. That name="" attribute defaults to the global errors word if you don't specify anything else. Regards, David -----Original Message----- From: Nadia Kunkov [mailto:[EMAIL PROTECTED] Sent: Wednesday, October 13, 2004 12:31 PM To: Struts Users Mailing List Subject: RE: Newbie <html:errors/> never displays errors Thanks Did that and specified the write bean name this time. <li><bean:write name="countryName"/></li> Now I get an error that bean countryName doesn't exist in any scope. I get a feeling it's something with my message resources. How can I see that the following line works. errors.add("countryName", new ActionError("errors.required","Country Name")); Thanks Nadia -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Wednesday, October 13, 2004 11:32 AM To: [EMAIL PROTECTED] Subject: RE: Newbie <html:errors/> never displays errors Hi Nadia, Use this to write your message : <logic:messagesPresent> <ul> <html:messages id="error"> <li><bean:write name="error"/></li> </html:messages> </ul> </logic:messagesPresent> <bean:write> will write error message who are call in your validate method and <logic:messagesPresent> will check if these message are present. Charles Gouin-Vallerand -----Original Message----- From: Nadia Kunkov [mailto:[EMAIL PROTECTED] Sent: October 13, 2004 11:16 AM To: Struts help (E-mail) Subject: Newbie <html:errors/> never displays errors Hi, I have gone through multiple postings and followed the suggestions about displaying the errors. I just need another pair of eyes to look at this, I'm probably missing something. I can't display errors on the page. I know that I go through the validate method and it finds errors because I'm not moving to the next page when I do a submit. If I have an error I want to stay on the same page and let the user resubmit. I do stay on the same page but under the form I want error messages to be displayed and they are never there. Please take a look below. I have this in my MyAppResources.properties which resides in /WEB-INF/classes directory errors.required={0} is required. in my struts-config.xml I have validate="true" and also <message-resources parameter="MyAppResources" null="false"/> In my ActionForm I have the following in the Validate method: public ActionErrors validate (ActionMapping actionMapping, HttpServletRequest httpServletRequest) { ActionErrors errors = new ActionErrors(); if (getCountryName() == null || getCountryName().length() < 1) { errors.add("countryName", new ActionError("errors.required","Country Name")); } if (getCountryCapital() == null || getCountryCapital().length() < 1) { errors.add("countryCapital", new ActionError("errors.required","Country Capital")); } return errors; } In my jsp file I have the following .....some stuff...... <form:submit property="method" value="Add"></form:submit> </form:form> <html:errors/> </body> </html:html> --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]