i have a confusion in using usebean tag without class attribute,
as the example given in head first servlets <jsp:useBean id="person" type="foo.Person" scope="Page"/>
n it says that if the person bean must already exists then only it will work.
1. so my question is this that is it possibility that we can make this work because if we bean is already declared in page scope(then it must be declared in the same page ), n then if we use this line in same page it will give an exception of having duplicate bean.
2. n if we declare it in request scope then also in using it on different jsp page it gives exception "java.lang.InstantiationException:bean not found in the scope"
3. but if i declare it in session scope then it is working fine on the next jsp page.
so please solve my above mentioned questions
Joined: Jul 04, 2013
sorry, i got the answer of 2 and 3... i was doing some silly mistake but still not sure about question 1
Basically when you use the type attribute, and not the class attribute, it can never create the instance for you. The instance must exist at the time of evaluating the jsp:useBean tag.
The only way to make <jsp:useBean id="person" type="foo.Person" scope="Page"/> work is to have scriptlet code on the same page setting that value into the pageContext attribute before the jsp:useBean statement is executed.