RE: session form bean problem -- post again.

2005-01-04 Thread t t
Thanks, David. Could you please give a simple example to explain how to 
specify another bean?

David G. Friedman [EMAIL PROTECTED] wrote:T.T.,

If you want to display something form the session object stored with
Constants.USER_KEY in /search.jsp (your success forward), you don't need
to copy the values in your Action's execute() method. Just specify another
bean (in any scope) with the 'name=User' attribute/value pair. Of course,
you'll have to change User to the actual string defined by
Constants.USER_KEY. This works for many tags in the bean and html
taglibs.

Regards,
David

-Original Message-
From: t t [mailto:[EMAIL PROTECTED]
Sent: Monday, January 03, 2005 9:30 AM
To: user@struts.apache.org
Subject: session form bean problem -- post again.


Happy new year!
Since I posted this problem before Christmas and didn't get answer, I post
it again.
. I have such action mapping:

type=myClasses.PopulateAction
name=SearchForm
scope=request
validate=false


-
The code in the PopulateAction class is:
---
public ActionForward execute(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws Exception {

HttpSession session = request.getSession();
User user = (User)
session.getAttribute(Constants.USER_KEY);
SearchForm searchForm=(SearchForm) form;
searchForm.setZipcode(user.getZipcode());
searchForm.setCity(user.getCity());
searchForm.setState(user.getState());
searchForm.setCountry(user.getCountry());

return (mapping.findForward(success));

}
--

I want to populate SearchForm with some existed values(stored in
session) before showing search.jsp. This work is done in execute method
of PopulateAction.
It works well when I use the mapping code shown above. But when I take
out the line -- scope=request, that is, I want this form bean to be a
session bean. Then the values were not set. They are just the initial
values of the form bean.
It seems a new form bean object was created after execute method of
PopulateAction. Or , execute method of PopulateAction was not
executed.
Any idea anyone?

Thanks in advance.



__
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com


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




-
Do you Yahoo!?
 Take Yahoo! Mail with you! Get it on your mobile phone.

RE: session form bean problem -- post again.

2005-01-04 Thread David G. Friedman
T.T.,

Before I give you an example, let me just yell read the manual at:
Struts Developer Guide - link HTML Taglib API Reference URL
http://struts.apache.org/userGuide/struts-html.html

Now, on to practical matters.

As you may know, traditionally, you have an html:form in your JSP like so:

html:form action=someaction /
  html:text property=field1 /
  html:text property=field2 /
/html:form

If you saved a bean named user in request or session scope, you can access
its property firstName from any JSP with many of the bean/html taglib
commands  such as:

bean:write name=user property=firstName /
html:text name=user property=firstName /

Using the above, I've done the unthinkable. I have created a page that
has the html:form tag, then includes different center (I use tiles to do
this) JSP pages based on a Tiles controller.  Then, each page uses the
html:text with name=anyScopedBeanName to show particular fields from ANY
of the stored beans I choose to show.   It works well with multi-page
validation schemes.

Regards,
David

-Original Message-
From: t t [mailto:[EMAIL PROTECTED]
Sent: Tuesday, January 04, 2005 10:21 AM
To: Struts Users Mailing List
Subject: RE: session form bean problem -- post again.


Thanks, David. Could you please give a simple example to explain how to
specify another bean?

David G. Friedman [EMAIL PROTECTED] wrote:T.T.,

If you want to display something form the session object stored with
Constants.USER_KEY in /search.jsp (your success forward), you don't need
to copy the values in your Action's execute() method. Just specify another
bean (in any scope) with the 'name=User' attribute/value pair. Of course,
you'll have to change User to the actual string defined by
Constants.USER_KEY. This works for many tags in the bean and html
taglibs.

Regards,
David

-Original Message-
From: t t [mailto:[EMAIL PROTECTED]
Sent: Monday, January 03, 2005 9:30 AM
To: user@struts.apache.org
Subject: session form bean problem -- post again.


Happy new year!
Since I posted this problem before Christmas and didn't get answer, I post
it again.
. I have such action mapping:

type=myClasses.PopulateAction
name=SearchForm
scope=request
validate=false


-
The code in the PopulateAction class is:
---
public ActionForward execute(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws Exception {

HttpSession session = request.getSession();
User user = (User)
session.getAttribute(Constants.USER_KEY);
SearchForm searchForm=(SearchForm) form;
searchForm.setZipcode(user.getZipcode());
searchForm.setCity(user.getCity());
searchForm.setState(user.getState());
searchForm.setCountry(user.getCountry());

return (mapping.findForward(success));

}
--

I want to populate SearchForm with some existed values(stored in
session) before showing search.jsp. This work is done in execute method
of PopulateAction.
It works well when I use the mapping code shown above. But when I take
out the line -- scope=request, that is, I want this form bean to be a
session bean. Then the values were not set. They are just the initial
values of the form bean.
It seems a new form bean object was created after execute method of
PopulateAction. Or , execute method of PopulateAction was not
executed.
Any idea anyone?

Thanks in advance.



__
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com


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




-
Do you Yahoo!?
 Take Yahoo! Mail with you! Get it on your mobile phone.


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



RE: session form bean problem -- post again.

2005-01-04 Thread t t
Thanks again, David.

David G. Friedman [EMAIL PROTECTED] wrote:T.T.,

Before I give you an example, let me just yell read the manual at:
Struts Developer Guide - link HTML Taglib API Reference URL
http://struts.apache.org/userGuide/struts-html.html

Now, on to practical matters.

As you may know, traditionally, you have an html:form in your JSP like so:






If you saved a bean named user in request or session scope, you can access
its property firstName from any JSP with many of the bean/html taglib
commands such as:




Using the above, I've done the unthinkable. I have created a page that
has the html:form tag, then includes different center (I use tiles to do
this) JSP pages based on a Tiles controller. Then, each page uses the
html:text with name=anyScopedBeanName to show particular fields from ANY
of the stored beans I choose to show. It works well with multi-page
validation schemes.

Regards,
David

-Original Message-
From: t t [mailto:[EMAIL PROTECTED]
Sent: Tuesday, January 04, 2005 10:21 AM
To: Struts Users Mailing List
Subject: RE: session form bean problem -- post again.


Thanks, David. Could you please give a simple example to explain how to
specify another bean?

David G. Friedman wrote:T.T.,

If you want to display something form the session object stored with
Constants.USER_KEY in /search.jsp (your success forward), you don't need
to copy the values in your Action's execute() method. Just specify another
bean (in any scope) with the 'name=User' attribute/value pair. Of course,
you'll have to change User to the actual string defined by
Constants.USER_KEY. This works for many tags in the bean and html
taglibs.

Regards,
David

-Original Message-
From: t t [mailto:[EMAIL PROTECTED]
Sent: Monday, January 03, 2005 9:30 AM
To: user@struts.apache.org
Subject: session form bean problem -- post again.


Happy new year!
Since I posted this problem before Christmas and didn't get answer, I post
it again.
. I have such action mapping:

type=myClasses.PopulateAction
name=SearchForm
scope=request
validate=false


-
The code in the PopulateAction class is:
---
public ActionForward execute(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws Exception {

HttpSession session = request.getSession();
User user = (User)
session.getAttribute(Constants.USER_KEY);
SearchForm searchForm=(SearchForm) form;
searchForm.setZipcode(user.getZipcode());
searchForm.setCity(user.getCity());
searchForm.setState(user.getState());
searchForm.setCountry(user.getCountry());

return (mapping.findForward(success));

}
--

I want to populate SearchForm with some existed values(stored in
session) before showing search.jsp. This work is done in execute method
of PopulateAction.
It works well when I use the mapping code shown above. But when I take
out the line -- scope=request, that is, I want this form bean to be a
session bean. Then the values were not set. They are just the initial
values of the form bean.
It seems a new form bean object was created after execute method of
PopulateAction. Or , execute method of PopulateAction was not
executed.
Any idea anyone?

Thanks in advance.



__
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com


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




-
Do you Yahoo!?
Take Yahoo! Mail with you! Get it on your mobile phone.


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




-
Do you Yahoo!?
 Yahoo! Mail - Helps protect you from nasty viruses.

RE: session form bean problem -- post again.

2005-01-03 Thread David G. Friedman
T.T.,

If you want to display something form the session object stored with
Constants.USER_KEY in /search.jsp (your success forward), you don't need
to copy the  values in your Action's execute() method.  Just specify another
bean (in any scope) with the 'name=User' attribute/value pair.  Of course,
you'll have to change User to the actual string defined by
Constants.USER_KEY.   This works for many tags in the bean and html
taglibs.

Regards,
David

-Original Message-
From: t t [mailto:[EMAIL PROTECTED]
Sent: Monday, January 03, 2005 9:30 AM
To: user@struts.apache.org
Subject: session form bean problem -- post again.


Happy new year!
Since I posted this problem before Christmas and didn't get answer, I post
it again.
. I have such action mapping:

action path=/Populate
   type=myClasses.PopulateAction
name=SearchForm
scope=request
   validate=false
   forward name=success path=/search.jsp/
   /action
-
The code in the PopulateAction class is:
---
public ActionForward execute(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws Exception {

HttpSession session = request.getSession();
User user = (User)
session.getAttribute(Constants.USER_KEY);
SearchForm searchForm=(SearchForm) form;
searchForm.setZipcode(user.getZipcode());
searchForm.setCity(user.getCity());
searchForm.setState(user.getState());
searchForm.setCountry(user.getCountry());

return (mapping.findForward(success));

}
--

I want to populate SearchForm with some existed values(stored in
session) before showing search.jsp. This work is done in execute method
of PopulateAction.
It works well when I use the mapping code shown above. But when I take
out the line -- scope=request, that is, I want this form bean to be a
session bean. Then the values were not set. They are  just the initial
values of the form bean.
It seems a new form bean object was created after execute method of
PopulateAction. Or , execute method of PopulateAction was not
executed.
Any idea anyone?

Thanks in advance.



__
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around
http://mail.yahoo.com


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