Try setting the scope to "application" , and inside of your servlet, instead
of creating a brand new instance of the bean, use the existing instance of
the bean by retrieving it from the ServletContext. By making the scope
"application" in the JSP, you are implicity instantiating the bean and
storing it into the ServletContext. Therefore, grab that existing instance.
For example...
ServletContext context = getServletContext();
FormBean formbean = (FormBean) context.getAttribute("myFormBean");
formbean.setUserName(request.getParameter("userName");
// etc .....
Notice that "myFormBean" was the name that you used in the JSP tag:
<jsp:useBean id="myFormBean" class="beans.FormBean" scope="session"/>
That's the name it will be stored as in the ServletContext once you change
the scope to "application".
I hope this helps. =)
Ryan LeCompte
[EMAIL PROTECTED]
http://www.ull.edu/~rml7669
----- Original Message -----
From: "Dahnke, Eric" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Monday, February 11, 2002 8:57 PM
Subject: Sharing a bean between servlet and jsp. Arrggghhhhh
> 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.
>
>
> 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).
>
> 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";
> }
> }
> public void forward (HttpServletRequest request,
> HttpServletResponse response) throws IOException,
> ServletException {
>
> RequestDispatcher rd = request.getRequestDispatcher(URL);
> rd.forward (request, response);
> }
>
> Here's the bean
> ===========
> package beans;
> public class FormBean implements java.io.Serializable {
> public String userName;
> public FormBean() {}
> public boolean validate() {
> boolean allOk=false;
> return allOk;
> }
>
> public String getUserName() {
> //return this.userName; // doesn't work either
> return userName;
> }
> public void setUserName(String uname) {
> this.userName = uname;
> }
> }
>
>
___________________________________________________________________________
> To unsubscribe, send email to [EMAIL PROTECTED] and include in the
body
> of the message "signoff SERVLET-INTEREST".
>
> Archives: http://archives.java.sun.com/archives/servlet-interest.html
> Resources: http://java.sun.com/products/servlet/external-resources.html
> LISTSERV Help: http://www.lsoft.com/manuals/user/user.html
>
___________________________________________________________________________
To unsubscribe, send email to [EMAIL PROTECTED] and include in the body
of the message "signoff SERVLET-INTEREST".
Archives: http://archives.java.sun.com/archives/servlet-interest.html
Resources: http://java.sun.com/products/servlet/external-resources.html
LISTSERV Help: http://www.lsoft.com/manuals/user/user.html