My config entries.

<form-bean name="AccountLoginForm"
type="at.sybase.j2ee.h3g.webshop.struts.AccountLoginForm" />
<action path="/AccountLogin"
type="at.sybase.j2ee.h3g.webshop.struts.AccountLoginAction"
name="AccountLoginForm" input="/kkr_accountloginform.jsp" scope="request">
     <forward name="success" path="/kkr_account.jsp" redirect="false" />
     <forward name="failure" path="/kkr_accountloginform.jsp"
redirect="false" />
     <forward name="newAccount" path="/AccountRegisterForm.do"
redirect="false" />
 </action>

 <form-bean name="AccountRegisterForm"
type="at.sybase.j2ee.h3g.webshop.struts.AccountRegisterForm" />
 <action path="/AccountRegister"
type="at.sybase.j2ee.h3g.webshop.struts.AccountRegisterAction"
name="AccountRegisterForm" input="/kkr_accountregisterform.jsp">
     <forward name="success" path="/kkr_account.jsp" redirect="false" />
     <forward name="failure" path="/kkr_accountregisterform.jsp"
redirect="false" />
 </action>

andreas
----- Original Message -----
From: "Robert Taylor" <[EMAIL PROTECTED]>
To: "Struts Users Mailing List" <[EMAIL PROTECTED]>
Sent: Monday, January 20, 2003 5:49 PM
Subject: RE: Forwarding parameters


> Can you post the relavent snippets of your struts-config.xml?
> The behavior you are describing would be the result of forwarding
> to the NewUserAction after logging in as a new user, instead of
> forwarding directly to the createAccount.jsp page.
>
> robert
>
> > -----Original Message-----
> > From: Andreas Winkler [mailto:[EMAIL PROTECTED]]
> > Sent: Monday, January 20, 2003 11:27 AM
> > To: Struts Users Mailing List
> > Subject: Re: Forwarding parameters
> >
> >
> > It's exactly what I wanted! But not only the form bean is called also
the
> > perform method of the action bean.
> > So the order of methed calls is: reset of the form bean and then
> > the perform
> > method of the action bean.
> > After these method calls the user can enter his values.
> >
> > I want the perform method only to be called when the user submits his
> > entries.
> >
> > thanks in advance
> > ----- Original Message -----
> > From: "Robert Taylor" <[EMAIL PROTECTED]>
> > To: "Struts Users Mailing List" <[EMAIL PROTECTED]>
> > Sent: Monday, January 20, 2003 4:59 PM
> > Subject: RE: Forwarding parameters
> >
> >
> > > I'm confused now. I thought that is what you wanted.
> > >
> > > Is this not the user case you described originally?
> > >
> > > --Display login page
> > > --User identfies himself as a new user and enters name (no password)
> > > --Display createAccount page populated with user name
> > > --User enters appropriate information and submits form
> > >   (subsequently invoking the CreateAccount action)
> > > --New account is created with user name
> > >
> > > robert
> > >
> > > > -----Original Message-----
> > > > From: Andreas Winkler [mailto:[EMAIL PROTECTED]]
> > > > Sent: Monday, January 20, 2003 10:49 AM
> > > > To: Struts Users Mailing List
> > > > Subject: Re: Forwarding parameters
> > > >
> > > >
> > > > Thanks for your help! It worked!
> > > > Now I have the user on the new page, but when the createAccount is
> > entered
> > > > the action behind the form is also called.
> > > > Is there a way to avoid this?
> > > >
> > > > Andreas
> > > >
> > > > ----- Original Message -----
> > > > From: "Robert Taylor" <[EMAIL PROTECTED]>
> > > > To: "Struts Users Mailing List" <[EMAIL PROTECTED]>
> > > > Sent: Monday, January 20, 2003 3:02 PM
> > > > Subject: RE: Forwarding parameters
> > > >
> > > >
> > > > > Andreas,
> > > > >
> > > > > If I understand correctly, you have a LoginAction and a
> > > > NewUserAction. If
> > > > > the user identifies himself as a new user, you want LoginAction
> > > > to forward
> > > > > to a page where the user name is populated and the processing is
> > handled
> > > > by
> > > > > NewUserAction.
> > > > >
> > > > > One approach would be to place the user name as a request
parameter
> > (not
> > > > > attribute) in the query string
> > > > > and forward to the new user page. The form on the new user page
will
> > > > render
> > > > > the form with the new user
> > > > > name populated in the appropriate field. In this fashion you
> > > > let Struts do
> > > > > most of the work for you.
> > > > >
> > > > > In order for this to work the user name field name must be
identical
> > in
> > > > the
> > > > > login form and the new user form.
> > > > > You must also bind the new user form to the NewUserAction by
> > > > assigning its
> > > > > name to the input attribute of the form element in the
> > > > struts-config file.
> > > > >
> > > > > For example you should have something like the following in your
> > struts
> > > > > config file:
> > > > >
> > > > > <form-beans>
> > > > > <form-bean name="loginForm" type="com.mycompany.BaseForm">
> > > > > <form-bean name="newUserForm" type="com.mycompany.BaseForm">
> > > > > </form-beans>
> > > > >
> > > > > <action-mappings>
> > > > > <action path="/do/login"
> > > > >         parameter=""
> > > > >         validate="true"
> > > > >         scope="request"
> > > > >         name="loginForm"
> > > > >         type="com.mycompany.BaseAction"
> > > > >         input="/login.jsp">
> > > > >
> > > > > <forward name="success" path="/account/index.jsp"/>
> > > > > <forward name="newuser" path="/createAccount.jsp"/>
> > > > >
> > > > > </action>
> > > > >
> > > > > <action path="/do/createAccount"
> > > > >         parameter=""
> > > > >         validate="true"
> > > > >         scope="request"
> > > > >         name="newUserForm"
> > > > >         type="com.mycompany.BaseAction"
> > > > >         input="/createAccount.jsp">
> > > > >
> > > > > <forward name="success" path="/account/index.jsp"/>
> > > > >
> > > > >
> > > > > </action>
> > > > >
> > > > >
> > > > > The createAccount.jsp should have a form element which
> > "points" to the
> > > > > createAccount action.
> > > > > <html:form action="createAccount" ..../>
> > > > >
> > > > >
> > > > > The LoginAction code would look something like this:
> > > > >
> > > > > MyForm form = (MyForm)form;
> > > > > String userName = form.getUserName();
> > > > > if (isNewUser(userName)) { // determine if the user is a new user
> > > > >
> > > > >   forward = mapping.findForward("newuser");
> > > > >   /*
> > > > >    * NOTE:
> > > > >    * There are cleaner ways to attach a parameter
> > > > >    * to the path. Search for
> > > > >    * ParameterActionForward in the mailing list archives.
> > > > >    */
> > > > >   String path = forward.getPath() + "?userName=" + userName;
> > > > >   forward = new ActionForward(path);
> > > > >
> > > > > } else {
> > > > >
> > > > >   // do something else
> > > > >
> > > > > }
> > > > >
> > > > > return forward;
> > > > >
> > > > >
> > > > > One last thing. The reason your data is getting "lost" is
> > because you
> > > > > are redirecting instead of forwarding. When you redirect, a new
> > request
> > > > > is created thereby loosing all of your existing data. A
> > quick solution
> > > > > would be to set the redirect flag in the forward to false
> > or just omit
> > > > > it since forwarding is the default behavior for an ActionForward.
> > > > >
> > > > > HTH,
> > > > >
> > > > > robert
> > > > >
> > > >
> > > >
> > > >
> > > > --
> > > > To unsubscribe, e-mail:
> > > <mailto:[EMAIL PROTECTED]>
> > > For additional commands, e-mail:
> > > <mailto:[EMAIL PROTECTED]>
> > >
> > >
> > > --
> > > To unsubscribe, e-mail:
> > <mailto:[EMAIL PROTECTED]>
> > > For additional commands, e-mail:
> > <mailto:[EMAIL PROTECTED]>
> > >
> >
> >
> >
> > --
> > To unsubscribe, e-mail:
> > <mailto:[EMAIL PROTECTED]>
> > For additional commands, e-mail:
> > <mailto:[EMAIL PROTECTED]>
> >
>
>
> --
> To unsubscribe, e-mail:
<mailto:[EMAIL PROTECTED]>
> For additional commands, e-mail:
<mailto:[EMAIL PROTECTED]>
>



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

Reply via email to