File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes JSP and the fly likes usebean without class attribute Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » JSP
Bookmark "usebean without class attribute" Watch "usebean without class attribute" New topic

usebean without class attribute

himani jangid

Joined: Jul 04, 2013
Posts: 18
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
himani jangid

Joined: Jul 04, 2013
Posts: 18
sorry, i got the answer of 2 and 3... i was doing some silly mistake but still not sure about question 1
Stefan Evans

Joined: Jul 06, 2005
Posts: 1580
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.

Bear Bibeault
Author and ninkuma

Joined: Jan 10, 2002
Posts: 63866

Or to have properly created the scoped variable in the page controller servlet. But in that case, the useBean is needless and useless if the page uses JSTL and EL.

[Asking smart questions] [About Bear] [Books by Bear]
I agree. Here's the link:
subject: usebean without class attribute
It's not a secret anymore!