struts-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "David G. Friedman" <hum...@ix.netcom.com>
Subject RE: session form bean problem -- post again.
Date Wed, 05 Jan 2005 01:23:12 GMT
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:wantte03@yahoo.com]
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" <humble@ix.netcom.com> 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:wantte03@yahoo.com]
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: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org




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


---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org


Mime
View raw message