See my comments below.

----- Original Message -----
From: "Parnell, Giles (AU - Sydney)" <[EMAIL PROTECTED]>
To: "'Struts Users Mailing List'" <[EMAIL PROTECTED]>
Sent: Wednesday, January 15, 2003 10:03 PM
Subject: RE: ActionErrors getting lost between action and JSP


> Hi there Giri
>
> Thanks for your reply. The thing is... these are all the options I have
> tried.
>
> I've removed all the irrelevant code from my source for you to look at:
> ....
> log.error("Add some errors to check this working !!!");
>
> errors.add("test1", new ActionError("errors.moreThanOneEmployee"));
> errors.add("test2", new ActionError("errors.XMLHydration"));
>
>
> log.debug("Wot is the size of the actionErrors: " + errors.size());
> saveErrors(request, errors);
>
> return (mapping.findForward("failure"));
>

This part looks ok.

> ...
>
> - As i said before... the logging statement shows two errors in the
> actionErrors object.
> - Tracing through the SaveErrors method.... the errors are still there...
> - It's on leaving the action, and entering into the html:errors tag that
it
> appears empty.
>

Can you post the JSP portion where you are trying to display the errors?
Also, can you post the action mapping including the forward element for
"failure"? Which version of Struts are you using?


> - I don't need to use the property names, as I want ALL the errors to
appear
> on the page.
>
> This is kinda driving me nuts - > not sure where else I can trace ! Is
there
> anything I need in my struts.config?
>
> Am i right is assuming that you DON'T need a form bean for the errors
page.
> ie - can i just put the errors on the request, and forward ?
>

Yes, you are right. Errors have nothing to do with form beans.


> Cheers
> Giles
>
> PS: ohhh... and both (errors.morethanoneEmployee and errrors.XMLHy...) are
> defined in my app.resources
>
>
> -----Original Message-----
> From: Giri Alwar [mailto:[EMAIL PROTECTED]]
> Sent: Thursday, 16 January 2003 1:49 PM
> To: Struts Users Mailing List
> Subject: Re: ActionErrors getting lost between action and JSP
>
>
> You need to save the ActionErrors object in the request in order to access
> it from the JSP. The simplest way to do this is as follows:
>
> In your Action class,
>     ActionErrors errors = new ActionErrors();
>
>     errors.add("<some property name>", new ActionError("some.key"));
>
>     // The next step is important if you will use the default attribute
name
>     saveErrors(request, errors);
>
>     return mapping.findForward("failure");
>
> In your JSP,
> <html:errors/>
>
> This should output all the errors regardless of property name.
>
> ----- Original Message -----
> From: "Parnell, Giles (AU - Sydney)" <[EMAIL PROTECTED]>
> To: "'Struts Users Mailing List'" <[EMAIL PROTECTED]>
> Sent: Wednesday, January 15, 2003 6:57 PM
> Subject: ActionErrors getting lost between action and JSP
>
>
> > Hi there guys
> >
> > Wonder if you can help. I am trying to get the struts actionErrors to
> appear
> > on my error page.
> > I can get them working when I use the html:errors tag and specify the
> exact
> > error I'm after, however I am now trying to output ALL the errors...
with
> > zero luck so far.
> >
> > I have added two errors to the actionErrors object in my action like so:
> >
> > if (true)
> >                 {
> >
> >                         log.error("MAJOR DEBUGGING !!!");
> >                         actionErrors.add("careerPlan.help",
> >                         new ActionError
> >                         ("errors.updatingError", "fingers",
> "CareerPlan"));
> >
> >                         actionErrors.add("careerPlan.help",
> >                         new ActionError
> >                         ("errors.XMLHydration" ));
> >
> >                         //request.setAttribute("errors", errors);
> >
> >                         VOErrors errors = new VOErrors(actionErrors);
> >                         request.setAttribute("errors",errors);
> >                         log.debug("Wot is the size of the actionErrors:
"
> +
> > actionErrors.size());
> >                         // XXX this always comes back as 2
> >
> >                         // Try just place a string array on request
> >
> >                         /*
> >                         String a = "this is my first error";
> >                         String b = "this is my second error";
> >                         String c = "this is my third error";
> >
> >                         errors.add(a);
> >                         errors.add(b);
> >                         errors.add(c);
> >
> >                         request.setAttribute("errors", errors);
> >                         //XXX this didn't work either XXX
> >                         */
> >
> >                         return (mapping.findForward("failure"));
> >                 }
> >
> > The options i've tryed so far are:
> >    a)creating actionErrors, adding it to the request, and then
forwarding
> to
> > my error page
> >     b)creating a VOErrors, adding the actionErrors to the VO and
> forwarding
> > this VO to my error page
> >      c)creating an arrayList of strings called errors, and forwarding to
> my
> > error page
> >
> > When tracing through my action, on leaving the action I can see that
there
> > are two errors in the actionErrors object. However on hitting the jsp
> page,
> > and tracing through the html:errors tag - the errors object is always
> empty.
> >
> > Heres my jsp:
> > <%@ page language="java" import="org.apache.struts.action.ActionErrors,
> > java.lang.*, java.util.*, au.com.eclipsegroup.egem.valueObject.VOErrors"
> %>
> >
> > <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
> > <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
> >
> > <%
> >         response.setHeader("Cache-Control", "no-cache");
> >         response.setHeader("Pragma", "no-cache");
> >         response.setDateHeader("Expires", 0);
> > %>
> >
> > <html>
> >         <head>
> >                 <title>oops in gEm!</title>
> >                 <script language="JavaScript"
> > src="../../static/js/rollUp.js"></script>
> >                 <link rel="stylesheet"
href="../../static/css/default.css"
> > type="text/css">
> >         </head>
> >
> >         <body bgcolor="#FFFFFF" text="#000000" leftmargin="0"
> topmargin="0"
> > marginwidth="0" marginheight="0">
> >
> > <!XXXX DO i even need a form been? ... or can i just place the
> > actionErrors in the request and then use the html:errors tag ???>
> >         <html:form name="errors" scope="request"
> > type="au.com.eclipsegroup.egem.valueObject.VOErrors"
> > action="/roleTypeCheck.do">
> >
> >                 <!-- Top error banner - got the link back to the
homepage
> > -->
> >                 <jsp:include page="includes/99_errors_nav_top.jsp"/>
> >
> >
> >                         <table class="table" border="0" cellspacing="0"
> > cellpadding="0" align="center">
> >                                 <tr>
> >                                         <td bgcolor="fed267"
> class="normal">
> > The following error(s) have occured - please fix or contact the system
> > administrator for help. </td>
> >
> >                                 </tr>
> >                                 <tr>
> >
> >                                         <td bgcolor="fed267"
> class="error">
> >                                         <!-- XXX debuggin -->
> >                                                 <% if
> > (request.getAttribute("errors") != null)
> >                                                         {
> >
> ActionErrors
> > e = (ActionErrors) request.getAttribute("errors");
> >
> >
> >                                                                 if (e !=
> > null)
> >                                                                 {
> >
> int
> > size = e.size();
> >                                                                 %>
> >                                                                 <!--XXXX
> > this always comes back as 0 XXX -->
> >
ErrorSize
> =
> > <%=size%>
> >                                                                  <%
> >                                                                 }
> >                                                         }
> >                                                         else
> >                                                         { %>
> >                                                                 Errors
is
> > null
> >                                                 <% } %>
> >
> >
> >                                                 <!-- Think this is all i
> > need -->
> >                                                 <html:errors
> > name="errors"/></td>
> >
> >
> >                                                 <!--html:errors
> > name="errors" property="careerPlan.help"/></td -->
> >
> >
> >                                 </tr>
> >
> > Is there something i'm missing here? Why does the errors attribute
> (whether
> > it's an array of strings, an actionError object) always seem to lose
it's
> > value on hitting the jsp page.
> >
> > Any help would be great. Cheers
> > Giles
> >
> >
> > ***********Confidentiality/Limited Liability Statement***************
> >
> > Have the latest business news and in depth analysis delivered to your
> > desktop. Subscribe to "Insights", Deloitte's fortnightly email
> > business bulletin . . .
> >
> > http://www.deloitte.com.au/preferences/preference.asp
> >
> > This message contains privileged and confidential information intended
> > only for the use of the addressee named above.  If you are not the
> > intended recipient of this message, you must not disseminate, copy or
> > take any action in reliance on it.  If you have received this message
> > in error, please notify Deloitte Touche Tohmatsu immediately.  Any
> > views expressed in this message are those of the individual sender,
> > except where the sender specifically states them to be the views of
> > Deloitte.
> >
> > The liability of Deloitte Touche Tohmatsu, is limited by, and to the
> > extent of, the Accountants' Scheme under the Professional Standards
> > Act 1994 (NSW).
> >
> > The sender cannot guarantee that this email or any attachment to it
> > is free of computer viruses or other conditions which may damage or
> > interfere with data, hardware or software with which it might be used.
> > It is sent on the strict condition that the user carries out and relies
> > on its own procedures for ensuring that its use will not interfere with
> > the recipients systems and the recipient assumes all risk of use and
> > absolves the sender of all responsibility for any consequence of its
use.
> >
> >
>
>
> ---
> Outgoing mail is certified Virus Free.
> Checked by AVG anti-virus system (http://www.grisoft.com).
> Version: 6.0.435 / Virus Database: 244 - Release Date: 12/30/2002
>
> --
> To unsubscribe, e-mail:
> <mailto:[EMAIL PROTECTED]>
> For additional commands, e-mail:
> <mailto:[EMAIL PROTECTED]>
>
>
> ***********Confidentiality/Limited Liability Statement***************
>
> Have the latest business news and in depth analysis delivered to your
> desktop. Subscribe to "Insights", Deloitte's fortnightly email
> business bulletin . . .
>
> http://www.deloitte.com.au/preferences/preference.asp
>
> This message contains privileged and confidential information intended
> only for the use of the addressee named above.  If you are not the
> intended recipient of this message, you must not disseminate, copy or
> take any action in reliance on it.  If you have received this message
> in error, please notify Deloitte Touche Tohmatsu immediately.  Any
> views expressed in this message are those of the individual sender,
> except where the sender specifically states them to be the views of
> Deloitte.
>
> The liability of Deloitte Touche Tohmatsu, is limited by, and to the
> extent of, the Accountants' Scheme under the Professional Standards
> Act 1994 (NSW).
>
> The sender cannot guarantee that this email or any attachment to it
> is free of computer viruses or other conditions which may damage or
> interfere with data, hardware or software with which it might be used.
> It is sent on the strict condition that the user carries out and relies
> on its own procedures for ensuring that its use will not interfere with
> the recipients systems and the recipient assumes all risk of use and
> absolves the sender of all responsibility for any consequence of its use.
>
>


---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.435 / Virus Database: 244 - Release Date: 1/2/2003

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

Reply via email to