> Now I'm going crazy. This can't be so hard. Please help... I can't figure
> this out. I'm trying to share a bean between a jsp page and servlet.
> Argghhhhhhhhh... Please.... I help on other lists... and donate time to
> charity. I've been to Barnes and Noble and looked at a heap of texts. I've
> done no less than 500 Google searches.

Maybe you're not looking for the right thing...?

> There are no errors, I just can't get this "<jsp:getProperty
> name="myFormBean" property="userName" />" goddamned thing to display the
> userName bean property if fb.validate() fails. Everything works. I've got
> this begugger and can see the userName variable throughout the POST process.
> Everything's cool until the rd.forward (request, response), but once the
> forward takes place my jsp cannot again pick up the bean properties
> eventhough I say <jsp:useBean id="myFormBean" class="beans.FormBean"
> scope="session"/> I've tried every scope, and am using beans with straight
> JSP no problem (same application).

So far, I've been passing beans from JSP to a Servlet. I simply setup a bean in the 
"request" context (it attaches to the request object) and then forward to servlet. 
Servlet extracts it form the reqest with

bean = (OrgUnitBean)request.getAttribute( "bean" );

> Any ideas? Millions of Thanks
> 
> 
> Here's the JSP page.
> ===============
> <jsp:useBean id="myFormBean" class="beans.FormBean" scope="session"/>
> <form method="POST" action="controller">
> <input type="text" name="userName">
> <jsp:getProperty name="myFormBean" property="userName" />
> <input type="hidden" name="event" value="FORM_TEST">
> <input type="submit" name="submit" value="next">
> </form>
> 
> Here's the two relavant parts of the servlet.
> ================================
> public void process (ServletContext sc, HttpServletRequest request,
>                       HttpServletResponse response)
>                       throws IOException, ServletException {
> 
>         FormBean fb = new FormBean();
>         fb.setUserName(request.getParameter("userName"));
> 
>         if (fb.validate()) {
>                 URL = "index.jsp";
>         } else {
>                 // go back
>                 URL = "signup1.jsp";
>         }

            request.setAttribute( fb );

> }
> public void forward (HttpServletRequest request,
>         HttpServletResponse response) throws IOException,
>         ServletException {
> 
>         RequestDispatcher rd = request.getRequestDispatcher(URL);
>         rd.forward (request, response);
> }

You're not saving that bean in any context, so it is created and lost after you do 
forward. Just add that line I've added and it should be OK.

Nix.


Reply via email to