That is the correct behaviour. According to the JSP spec, the class
attribute must be "The fully qualified name of the class that defines
the implementation of the object." So you must include the full
package name.
--
Len Popp
[EMAIL PROTECTED]
http://www.lmp.dyndns.org/


On 10/20/06, Frederik Gottlieb <[EMAIL PROTECTED]> wrote:
Thanks for the advice, but lets leave the java.lang.String alone
(remember that it works if I fully qualify the package name)

I have a bean defined, dk.releaze.service.web.smsbulk.beans.Customer,
that is a public class with a public no-arg constructor with public
accessors and mutators - ie. a bean.
I use the bean on the page with,
    <%@ page import="dk.releaze.service.web.smsbulk.beans.*" %>
    ...
    <jsp:useBean id="customer" class="Customer" scope="session" />
and it fails like described below.

If I change the useBean to
    <jsp:useBean id="customer"
class="dk.releaze.service.web.smsbulk.beans.Customer" scope="session" />
it works with no problem.

It seems to me that Jasper doesn't look at the <%@ page import .. %>
directive, or perhaps something else is missing.

/Frederik Gottlieb

David Smith skrev:
> The class specified in the useBean tag must be a valid bean.
> java.lang.String is not a valid bean.  Why don't you just use the
> request attribute directly and omit the <jsp:useBean .../>?  Example:
> <p>Login failed value is ${loginFailed}</p>
>
> Resin may be lax on this point, but tomcat 5.5 is a fair stickler on
> this.
>
> --David
>
> Frederik Gottlieb wrote:
>
>> Hi,
>>
>> I'm new to Tomcat, but have been using Resin 2.1.16 for quite some
>> time now.
>> We are in the process of upgrading our server software, and we would
>> like to test out the new Tomcat 5.5.20, but I seem to get some problems.
>> We are moving our existing (working) applications to a test server,
>> now installed with Tomcat instead of Resin - every thing works fine
>> under Resin.
>>
>> In our JSP files we are using beans, and they are typically declared as
>>
>>    ...
>>    <jsp:useBean id="loginFailed" class="String" scope="request" />
>>    (line 6 of the JSP source file)
>>    ...
>>
>> Now this of cause refers to the java.lang.String class.
>> If I deploy this file I get the following exception in Tomcat
>>
>>    type Exception report
>>
>>    message
>>
>>    description The server encountered an internal error () that
>>    prevented it from fulfilling this request.
>>
>>    exception
>>
>>    org.apache.jasper.JasperException: /jsp/da_DK_RELEAZE/index.jsp(6,0)
>>    The value for the useBean class attribute String is invalid.
>>
>> 
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:512)
>>
>>
>> 
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
>>
>>
>> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
>>        org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
>>        javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>>        dk.releaze.servlet.http.RealtimeHttpServlet.gotoPage(Unknown
>> Source)
>>
>> dk.releaze.service.web.smsbulk.servlets.Index.doGetRequest(Index.java:75)
>>
>>        dk.releaze.servlet.http.RealtimeHttpServlet.doGet(Unknown Source)
>>        javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
>>        dk.releaze.servlet.http.RealtimeHttpServlet.service(Unknown
>> Source)
>>        javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>>
>>    root cause
>>
>>    org.apache.jasper.JasperException: /jsp/da_DK_RELEAZE/index.jsp(6,0)
>>    The value for the useBean class attribute String is invalid.
>>
>> 
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:39)
>>
>>
>> org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:405)
>>
>>
>> org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:146)
>>
>>
>> 
org.apache.jasper.compiler.Generator$GenerateVisitor.visit(Generator.java:1174)
>>
>>        org.apache.jasper.compiler.Node$UseBean.accept(Node.java:1116)
>>        org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2163)
>>        org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2213)
>>        org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2219)
>>        org.apache.jasper.compiler.Node$Root.accept(Node.java:456)
>>        org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2163)
>>
>> org.apache.jasper.compiler.Generator.generate(Generator.java:3320)
>>
>> org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:198)
>>        org.apache.jasper.compiler.Compiler.compile(Compiler.java:295)
>>        org.apache.jasper.compiler.Compiler.compile(Compiler.java:276)
>>        org.apache.jasper.compiler.Compiler.compile(Compiler.java:264)
>>
>> 
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:563)
>>
>>
>> 
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:305)
>>
>>
>> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
>>        org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
>>        javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>>        dk.releaze.servlet.http.RealtimeHttpServlet.gotoPage(Unknown
>> Source)
>>
>> dk.releaze.service.web.smsbulk.servlets.Index.doGetRequest(Index.java:75)
>>
>>        dk.releaze.servlet.http.RealtimeHttpServlet.doGet(Unknown Source)
>>        javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
>>        dk.releaze.servlet.http.RealtimeHttpServlet.service(Unknown
>> Source)
>>        javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>>
>> If I change the useBean declaration into
>>
>>    ...
>>    <jsp:useBean id="loginFailed" class="java.lang.String"
>>    scope="request" />
>>    ...
>>
>> it works fine - no errors.
>> Now, I find this to be weird.
>> Why can't Tomcat find the String class without qualifying the path?
>> (I think thats the problem)
>> It's an impossible task to rewrite all our JSP files into using fully
>> qualified path names, I hope that this is just a configuration issue
>> that I have missed.
>> My hope is that someone can explain this error to me.
>>
>> Thanks,
>> Frederik Gottlieb
>> Releaze Aps.
>>
>> ---------------------------------------------------------------------
>> To start a new topic, e-mail: users@tomcat.apache.org
>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>> For additional commands, e-mail: [EMAIL PROTECTED]
>>
>
>
> ---------------------------------------------------------------------
> To start a new topic, e-mail: users@tomcat.apache.org
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>


---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to