> 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.