The value for the useBean class attribute XXX is invalid

在web项目中,我们有时会遇见

The value for the useBean class attribute XXX 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

或者是Servlet.service() for servlet [****.****] in context with path [/practice_system] threw exception

等一系列javausebean及对应的jsp中相关联的错误

大多是由于jdk版本不同产生的编译错误(导入的项目jdk版本过低)

比如在jsp中运用了 <jsp:useBean id="fb" class="com.bean.FrirendLinkBean" scope="request"/>,在编译的时候无法找到FrirendLinkBean类

原因是eclipese因为web项目版本在3.0以下,JDK版本过低的环境中有时不能自动编译生成class文件

在此分不同的环境进行解决

1.配置成导入项目的环境:低版本的web项目编译需要部署在tomcat中,也就是WEB-INF目录下,我们可以自己创建一个classes目录,如果你自己新建的项目文件夹为test,那么在test下新建WEB-INF文件夹,再在WEB-INF下新建classes文件夹。最后,假如你的useBean所属的java类(假设为Use.java)的package名为test,就继续在classes下新建test文件夹,里面放好Use.java文件(即useBean的那个类的java文件),再对其进行编译得到Use.class。  (如果不知道怎么编译或者编译遇到问题可以参考编译的解决方法)

 

2.不改变当前eclipese环境:在高版本的环境下,编译出的class文件会再WebContent的build目录中(文件不可见,可以在文件管理器中看见),将java文件编译后的class文件通过文件管理器放入build目录即可(注意:package包路径要和src中的一样)

 

无法编译或不知道编译的解决方法:

1、先让eclipese进行重新编译 eclipse—》Project—》clean   就可以生成.class文件

 

 

2.检查项目的classpath有没有引用错误的library

 

因为路径发生改变的library需要重新buildpath

 

3.检查eclipese是否设置了自动编译 eclipse—》Project —》Build Automatically,打勾后eclipese才会在无法运行的情况下对class文件进行保存

 

4.进一步对工程及全局进行自动编译设置(注意,要两个都设计了才行)

 

全局设置: Preferences—》Java Compiler—》Building

 

 

具体工程设置: Properties—》Java Compiler—》Building

 

如果没有解决,可以重试1的clean过程

 

 

 

  • 8
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值