Does anyone know what is going on with the this
weird problem?
I have a class named CHyperklink
I putting a vector into a session object and then
adding CHyperlink objects to the vector.
When I retrieve the vector (with no problem) from
the session object, I can cast the objects back to CHyperlinks if do it in the
same servlet that put the objects in the vector.
If i retrieve the objects from the vector
from a diffrent servlet than the one the put the objects into the vector,
they all come out of the vector but they are not instanceof CHyperlink anymore
and I cannot cast them back to CHyperlink.
When i call tostring() on the objects in the
vector i get output indicating that they are still CHyperlinks.
I am stuck because i cant cast back to the
CHyperlink and call the appropriate methods. Does anyone know what is
happending?
Here is output for tostring calls on objects in
vector
novick.urlprog.CHyperlink@f11e4598
novick.urlprog.CHyperlink@97064598
novick.urlprog.CHyperlink@942a4598
novick.urlprog.CHyperlink@909e4598
novick.urlprog.CHyperlink@9c5a4598
Here is code for inserting
vector
CHyperlink
hlink;
hlink = new CHyperlink(address, description,
name);
// create hyperlink object
HttpSession session =
request.getSession();
// get session
Vector
urls = (Vector)
session.getAttribute("vector");
// get vector from session
if
(urls ==
null)
//
vector does not exist
yet
{
urls = new
Vector();
// create new vector
session.setAttribute("vector",urls);
// adds urls vector to session if not already
there
}
urls.add(hlink);
// add the hyperlink to the vector
here is code for retrieving
vector
HttpSession session = request.getSession();
Vector
v2 = (Vector)
session.getAttribute("vector");
// get vector from session
Object
obj;
CHyperlink
link;
//
temp variables
if ( v2 !=
null)
{
out.print("Got the
vector");
for (int i = 0 ; i < v2.size() ;
++i)
{
obj = v2.get(i);
if (obj instanceof
novick.urlprog.CHyperlink)
{
link = (CHyperlink)
obj;
out.print("<br> " +
link.GetHTML());
}
else
{
out.print("<br> " + obj.toString()
);
}
}
}