Hi,

Can someone help me with this????
I need a solution for my problem...

What i want to do:

In a servlet(LookupCD) i create an instance of an Enterprise JavaBean(session bean).
The servlet generates an html-page with all info of an entitybean and also a link.
When i click on this link it starts up a new servlet but i want to pass that instance
of the sessionbean on to this new servlet(AddToBasket)

I know that this is possible with the request dispatcher, and to set Attribute on 
request

So when i click the link the requestdispatcher must be called...
I have added some code of the lookupCD servlet.

Can you tell me what i have to change in this code-example???

Best Regards,

Jochen Vastmans
[EMAIL PROTECTED]


// CODE

public class LookupCompactDisc extends HttpServlet implements SingleThreadModel{

  public void init(ServletConfig config) throws ServletException {

    super.init(config);

    initiate(); //creates an instance of the sessionbean - cs -> (CustSession)

    context = config.getServletContext();
  }

  public void doGet(HttpServletRequest req, HttpServletResponse res){
 //delagate to doPost
 doPost(req,res);
  }

  public void doPost(HttpServletRequest req, HttpServletResponse res){

       try {
   String artist=req.getParameter("artist").toLowerCase();
   String title=req.getParameter("title").toLowerCase();

          // Vector with instances of the entitybean - (CompactDisc)
          Vector compactdiscs=cs.lookupCompactDisc(artist,title);

          // HERE A ADDED -cs- AS ATTRIBUTE
   req.setAttribute("CustSession",(CustSession) cs);

   // this will generate html
   res.setContentType("text/html");
   PrintWriter out = res.getWriter();
   if(compactdiscs == null)
             out.println("No item was found.");
   else{
      out.println("<html><head></head><body>");

      for(int i=0;i<compactdiscs.size();i++){

  Functions f = new Functions();
  CompactDisc cd = (CompactDisc) compactdiscs.elementAt(i);
  long id = cd.getID();
  String pid = String.valueOf(id);
  String cdname = f.toUpperCase(cd.getArtist());
  String cdtitle = f.toUpperCase(cd.getTitle());
  String cdrc = f.toUpperCase(cd.getRecordCompany());
  double cdprice = cd.getPriceEuro();
  String price = String.valueOf(cdprice);

  out.println("<p><b>"+cdname+"</b><br>");
  out.println(cdtitle+"<br>");
  out.println(cdrc+"<br>");
  out.println("Price: "+price+" euro</p>");

  // HERE IS MY PROBLEM!!!!
  // HERE IS THE LINK TO START THE OTHER SERVLET
  // I want to pass the sessionbean -cs- on to AddToBasket
  // when the link is clicked...
  out.println("<a href="+"http://<my 
host>/servlets.customer.AddToBasket?id="+pid+">Buy Item</a>");
                // I think it should be
         
context.getRequestDispatcher("/servlet.customer.AddToBasket").forward(req,res);
      }

      out.println("</form></body></html>");
   }
 }
 catch (Exception e) {
  e.printStackTrace();
 }
   }
     ....
}

___________________________________________________________________________
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

Reply via email to