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.
RE: session form bean problem -- post again.
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.
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.
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]