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]