• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Problem with using jsp:useBean

 
Rahesh Kumar
Ranch Hand
Posts: 53
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi,

I have a JSP file in which I declared a bean using <jsp:useBean> like the one below

<jsp:useBean id="currentArea"
type = "com.sapmarkets.isa.catalog.webcatalog.WebCatArea"
scope="request" >

and in the same jsp,I have one include <%@ include file="/catalog/B2CPath.jsp"%>

and in the B2CPath.jsp , i try to use the currentArea

String searchQuery = null;
searchQuery = ((com.sapmarkets.isa.catalog.webcatalog.WebCatArea)request.getAttribute("currentArea")).getAreaName();

When I try this, I get 'bean currentArea not within the scope' exception .Please let me know what could be the cause of the problem. How it can be resolved?.Thanks in advance

Rahesh
 
Merrill Higginson
Ranch Hand
Posts: 4864
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
If you are expecting your <jsp:usebean> tag to instantiate the bean, you must provide a class attribute for the tag. Example:
 
Rahesh Kumar
Ranch Hand
Posts: 53
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hey Merrill,

I tried that too, I am getting an InstatntiationException, the stack trace is as below

javax.servlet.ServletException: class com.sapmarkets.isa.catalog.webcatalog.WebCatArea : java.lang.InstantiationException: com.sapmarkets.isa.catalog.webcatalog.WebCatArea
at org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:498)
at org.apache.jsp.catalog.ProductDetailB2C_jsp._jspService(ProductDetailB2C_jsp.java:1209)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:92)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:809)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:162)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:240)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:187)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:809)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:627)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:382)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:306)
at org.apache.struts.action.ActionServlet.processActionForward(ActionServlet.java:1759)
at com.sapmarkets.isa.core.ActionServlet.processActionForward(ActionServlet.java:267)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1596)
at com.sapmarkets.isa.core.ActionServlet.process(ActionServlet.java:430)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:510)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:716)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:809)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:627)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:382)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:306)
at org.apache.struts.action.ActionServlet.processActionForward(ActionServlet.java:1759)
at com.sapmarkets.isa.core.ActionServlet.processActionForward(ActionServlet.java:267)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1596)
at com.sapmarkets.isa.core.ActionServlet.process(ActionServlet.java:430)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:510)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:716)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:809)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:627)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:382)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:306)
at org.apache.struts.action.ActionServlet.processActionForward(ActionServlet.java:1759)
at com.sapmarkets.isa.core.ActionServlet.processActionForward(ActionServlet.java:267)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1596)
at com.sapmarkets.isa.core.ActionServlet.process(ActionServlet.java:430)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:510)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:716)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:809)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:627)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:382)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:306)
at org.apache.struts.action.ActionServlet.processActionForward(ActionServlet.java:1759)
at com.sapmarkets.isa.core.ActionServlet.processActionForward(ActionServlet.java:267)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1596)
at com.sapmarkets.isa.core.ActionServlet.process(ActionServlet.java:430)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:510)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:716)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:809)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:627)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:382)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:306)
at org.apache.struts.action.ActionServlet.processActionForward(ActionServlet.java:1759)
at com.sapmarkets.isa.core.ActionServlet.processActionForward(ActionServlet.java:267)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1596)
at com.sapmarkets.isa.core.ActionServlet.process(ActionServlet.java:430)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:510)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:716)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:809)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:627)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:382)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:306)
at org.apache.struts.action.ActionServlet.processActionForward(ActionServlet.java:1759)
at com.sapmarkets.isa.core.ActionServlet.processActionForward(ActionServlet.java:267)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1596)
at com.sapmarkets.isa.core.ActionServlet.process(ActionServlet.java:430)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:510)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:716)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:809)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:627)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:382)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:306)
at org.apache.struts.action.ActionServlet.processActionForward(ActionServlet.java:1759)
at com.sapmarkets.isa.core.ActionServlet.processActionForward(ActionServlet.java:267)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1596)
at com.sapmarkets.isa.core.ActionServlet.process(ActionServlet.java:430)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:510)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:716)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:809)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:200)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:146)
at com.worldbank.eservices.security.SessionInitFilter.filterChain(SessionInitFilter.java:148)
at com.worldbank.eservices.security.SessionInitFilter.filterHttp(SessionInitFilter.java:94)
at com.worldbank.eservices.security.SessionInitFilter.doFilter(SessionInitFilter.java:63)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:146)
at com.worldbank.eservices.security.AuthTokenExistsFilter.doFilterInternal(AuthTokenExistsFilter.java:96)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:77)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:146)
at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:738)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:146)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:209)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:144)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:504)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2358)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:133)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:118)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:116)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:594)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:127)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:596)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:152)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
at java.lang.Thread.run(Thread.java:534

Thanks
Rahesh
 
Bear Bibeault
Author and ninkuma
Marshal
Pie
Posts: 65120
91
IntelliJ IDE Java jQuery Mac Mac OS X
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Does the WebCatArea class follow all the rules of a JavaBean? Has a no-args constructor, for example?
 
Rahesh Kumar
Ranch Hand
Posts: 53
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
No it does not have a no-arg constructor
 
Remko Strating
Ranch Hand
Posts: 893
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
It should have a no-arg constructor otherwise it couldn't start from the JSP.
You found your problem.
 
Bear Bibeault
Author and ninkuma
Marshal
Pie
Posts: 65120
91
IntelliJ IDE Java jQuery Mac Mac OS X
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Originally posted by Rahesh Kumar:
No it does not have a no-arg constructor


Yup, as Remko said, that's the problem. Without a no-args constructor, how is the container to know how to create an instance of your class?
 
Rahesh Kumar
Ranch Hand
Posts: 53
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Ye, Thanks. actually this code is being customised , so I did not have the actual source with me. Once I found the source code, I found the problem. Thanks for your help guys...

Thanks
Rahesh
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic