`

The value for the useBean class attribute is invalid 问题

阅读更多

程序由JDK1.3升级到JDK1.6的时候,使用ANT预编译JSP时提示:

The value for the useBean class attribute is invalid ,

The value for the useBean class attribute java.lang.Integer is invalid.

The value for the useBean class attribute java.util.List is invalid

是因为在JSP中使用了代码:

<jsp:useBean id="ShowCharge" class="java.lang.Boolean" scope="request"/>

可能是JDK版本问题导致编译的时候找不到Boolean类。

怎么办呢?

在JSP页面:<jsp:useBean id="ShowCharge" class="java.lang.Boolean" scope="request"/>

会显示错误信息:The constructor Boolean() is undefined即没有对应的构造函数

实际上代码<jsp:useBean id="ShowCharge" class="java.lang.Boolean" scope="request"/>

等价于:

Boolean ShowCharge = (Boolean)request.getAttribute("ShowCharge");
if(ShowCharge == null){
Boolean ShowCharge = new Boolean();
request.setAttribute("ShowCharge",ShowCharge);
}

那么JDK1.6中是没有Boolean()构造函数的,所以会报错。。。。;

以下相关链接对这个问题进行了分析,很不错的。

查找以下链接及相关:

http://www.blogjava.net/bluesky/archive/2005/12/05/22600.html

http://www.cnblogs.com/feiweiwei/archive/2007/12/05/984484.html

引用:--

可见错误可能的原因包括:

1. 在编译 JSP 时(不是运行时),指定的 Bean 类没找到
2. Bean 虽然找到了,但是它不是 public 的,或者找到的 class 文件是 interface 或抽象类
3. Bean 类中没有 public 的默认构建函数

对于

The value for the useBean class attribute is invalid ,

解决方法,用等价代码去替换如
将:<jsp:useBean id="ShowCharge" class="java.lang.Boolean" scope="request"/>

替换成:

Boolean ShowCharge = (Boolean)request.getAttribute("ShowCharge");
if(ShowCharge == null){
Boolean ShowCharge = new Boolean(false );//注意这里换成带参数的构造方法
request.setAttribute("ShowCharge",ShowCharge);
}

对于

The value for the useBean class attribute java.lang.Integer is invalid.

解决方法,用等价代码去替换如

将:<jsp:useBean id="MaxDocDispIdx " class="java.lang.Integer" scope="request"/>

替换成:

Integer MaxDocDispIdx = (Integer)request.getAttribute("MaxDocDispIdx");
if(MaxDocDispIdx == null){
MaxDocDispIdx = new Integer(0);
request.setAttribute("MaxDocDispIdx",MaxDocDispIdx);
}

对于

The value for the useBean class attribute java.util.List is invalid

解决方法是将:

<jsp:useBean id="DocBeanList" class="java.util.List" scope="session" />

换成

<jsp:useBean id="DocBeanList" class="java.util.ArrayList" scope="session" />

关于The value for the useBean class attribute java.util.List is invalid这个问题可参见:

http://www.coderanch.com/t/286029/JSP/java/error-value-useBean-class-attribute

经过测试发现另一种方法可以实现:

如:<jsp:useBean id="ShowCharge" class="java.lang.Boolean" scope="request"/>

改成<jsp:useBean id="ShowCharge" type="java.lang.Boolean" scope="request"/>

即将class 改成type.对以上Integer,List类型都可以。

具体原因待查

分享到:
评论

相关推荐

    科技企业信息管理代码

    科技企业信息管理 ...The value for the useBean class attribute MD5.MD5 is invalid 猜测的话 useBean这个BEAN你没定义 自然他的属性MD5.MD5也就不存在了`` 好好看看你的WEB.XML等配置文件是不是少写了什么

    JSP Simple Examples

    This package is imported in the jsp page so that the Date class and its properties can accessed in the JSP page. If- Else Ladder A ladder means a vertical set of steps. It is a computer generated ...

    jsp事例jsp usebean session

    在JavaServer Pages (JSP) 技术中,`useBean` 指令和 `session` 对象是两个核心概念,它们对于构建动态、数据驱动的Web应用程序至关重要。在这个事例中,我们将深入探讨如何在JSP中利用 `useBean` 指令创建并管理...

    JSP useBean连接 Access 数据库,不使用数据源

    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); String url = "jdbc:odbc:myDatabase"; // 替换为你的数据库名 conn = DriverManager.getConnection(url, "", ""); // 填写用户名和密码,如果有的话 } catch ...

    JSP+UseBean网上购书系统

    【JSP+UseBean网上购书系统详解】 JSP(JavaServer Pages)是Java平台上的一个服务器端脚本语言,用于生成动态网页内容。在这个"JSP+UseBean网上购书系统"中,开发者利用了JSP的核心特性,结合UseBean动作标签,...

    jsp+servlet+usebean实现MVC

    &lt;jsp:useBean id="user" class="com.example.UserBean" scope="request" /&gt; ``` - **EL和JSTL**:接着,我们可以使用EL表达式和JSTL标签从模型中获取数据并在页面上展示。例如,显示用户名: ```jsp 用户名: ${...

    SCWCD-310-081.pdf

    This certification is designed to assess and validate the skills required for developing web components in the J2EE environment. #### Exam Information - **Exam Code**: 310-081 - **Title**: Sun ...

    jsp标准动作

    该标记的语法格式为:&lt;jsp:useBean id="bean name" class="class name" /&gt;,其中 id 属性指定了 Bean 的名称,class 属性指定了 JavaBean 的类名。 jsp:setProperty 标记用于设置 Bean 的属性。该标记的语法格式为...

    java 中文问题(java web 开发中的中文问题)

    &lt;attribute name="scope" value="request"/&gt; ``` 六、 `&lt;bean:write&gt;` 标签中 Filter 属性问题 在 Struts 中,`&lt;bean:write&gt;` 标签用于输出 JavaBean 的属性值。解决 Filter 属性问题,可以使用 `&lt;bean:write&gt;` ...

    usebean.jsp

    usebean.jsp

    JSP Javabean

    &lt;jsp:setProperty name="myBean" property="myText" value="Hello, this is the result of the first setProperty." /&gt; ``` 3. **获取属性值**:使用`&lt;jsp:getProperty&gt;`标签读取和输出JavaBean的属性值。例如: ```...

    Jsp:useBean中字符串转化为Date类型的操作方法

    在JavaServer Pages (JSP) 中,`&lt;jsp:useBean&gt;` 标签用于实例化一个Java对象,通常是从一个JavaBean。在这个特定的情景中,我们关注的是将字符串转换为Date类型的处理,这在处理日期相关的数据时非常常见。在JSP中,...

    学习servlet,jsp,usebean,数据库封装的不错方法

    在Java Web开发中,Servlet、JSP(JavaServer Pages)和UseBean是核心的技术组件,它们主要用于构建动态网站。这个未完成的个人留言板项目恰好涵盖了这些技术,让我们深入了解一下它们。 1. **Servlet**: Servlet...

    WEB开发之JSP的三种注释方式.docx

    &lt;jsp:useBean id="BeanName" class="BeanClass" scope="page|request|session|application"/&gt; ``` 这里的`id`属性定义了Bean的唯一标识,`class`属性指定Bean的全限定类名,`scope`属性定义了Bean的作用域,可以是`...

    jsp基本语法(指令,包括各种动作,表达式,内置对象等)

    &lt;%@ page attribute="value" %&gt; ``` **示例**: ```jsp ; charset=UTF-8" %&gt; ``` #### Taglib指令 Taglib指令用于引入自定义标签库,这些标签库可以简化常见的JSP操作。 **JSP语法**: ```jsp ``` **示例**: ```...

    班级信息管理”功能页面的源代码

    - `&lt;jsp:useBean id="class_select" class="classman.class_operation" scope="page"/&gt;` 创建了一个名为`class_select`的JavaBean实例,其类名为`classman.class_operation`,作用域为页面。 - `...

    jsp调用javabean的问题

    本篇文章将详细探讨“jsp调用javabean的问题”,以及如何有效地解决这些问题。 首先,我们需要了解JSP调用JavaBean的基本原理。在JSP页面中,我们通常使用`&lt;jsp:useBean&gt;`标签来实例化或查找JavaBean。例如: ```...

    自定义标签教程

    &lt;jsp:useBean class="java.util.HashMap" id="deleteParams"/&gt; ("id", cd.getId()); deleteParams.put("method", "delete"); %&gt; &lt;!-- Pass the map named deleteParams to html:link to generate the request ...

    JSP - What is it Good For_.ppt

    JSP(JavaServer Pages)是Sun Microsystems推出的一种用于创建动态网页的技术,它旨在解决早期CGI(Common Gateway Interface)在处理大型数据集、高流量网站、状态维护、性能瓶颈以及依赖专有API等问题上的局限性...

    jsp常用标签

    * jsp:setProperty 出现在 jsp:useBean 标签内:&lt;jsp:useBean id="myUser" … &gt; … … /&gt; &lt;/jsp:useBean&gt; JSP 中的这些指令可以帮助开发者更方便地实现不同的功能,提高开发效率和代码可读性。

Global site tag (gtag.js) - Google Analytics