`
守望者
  • 浏览: 54560 次
  • 来自: ...
社区版块
存档分类
最新评论

一个很奇怪问题,折腾一天了

    博客分类:
  • ssh
阅读更多

今天改装一个无级树型菜单,用spring来管理事务,ssh架构的,其中struts的Action代码如下:首先做了一个BaseAction用来读取spring配置文件的bean定义

java 代码
  1. public class BaseAction extends Action {   
  2.          protected final Log log = LogFactory.getLog(getClass());   
  3.          private static final Long defaultLong = null;   
  4.          public ApplicationContext applicationContext;    
  5.   
  6.         public Object getBean(String name) {   
  7.             ApplicationContext ctx =    
  8.               WebApplicationContextUtils.getRequiredWebApplicationContext(servlet.getServletContext());   
  9.          return ctx.getBean(name);  

然后是处理控制的MenuManageAction extends BaseAction,选取其中的一段代码来看;

java 代码
  1.   }else if (todoaction==null || "".equals(todoaction) || "list".equals(todoaction)){   
  2. reeManager  treeManager=(TreeManager)getBean("treeManager");   
  3. list=treeManager.getRoots(SystemMenu.class);   
  4. equest.setAttribute("objectlist",list);   
  5.            return mapping.findForward("list");      

问题就出在这,TreeManager  treeManager=(TreeManager)getBean("treeManager");居然 出现了ClassCastException!!!!!!!!!!!!!!!!!!!   getBean方法虽然返回的是Object类型的但其实是个TreeManager类型的(见下面的配置文件),但就是一转型为TreeManager就得到ClassCastException,如果不转型得到的是Object类型的,但是就不能调用getRoot方法了,为了得到大家的帮助,我把其它相关代码也贴出来,spring配置文件如下:

xml 代码
  1. <bean id="treeManager" class="org.news.service.TreeManager">  
  2.         <property name="sessionFactory">  
  3.             <ref bean="sessionFactory" />  
  4.         </property>  
  5.     </bean>  

TreeManager.java如下:

java 代码
  1. public class TreeManager extends HibernateDaoSupport{   
  2.        
  3.     public  List getRoots(Class cls){    
  4.       
  5.     return this.getHibernateTemplate().find(" from "+ cls.getName()+ " where enabled=true and parent_id is null order by id");   
这个问题我跟好几个人讨论都没有解决,本来就是个转型错误,却搞的这么郁闷,希望这个帖子不要被封掉,如果要封最好能解决了再封,这样我也好受点!
分享到:
评论
5 楼 timerri 2007-10-11  
检查classloader是否是同一个~~~

检查应用服务器中是否存在2个spring,包括其他虚拟主机

检查spring是否跟你的应用在同一个host里。
4 楼 守望者 2007-10-11  
楼上lixiao说的的情况我也检查过了,我是把代码抽取出来了,只有定义两个bean,不可能出现名字相同而不是一个类的情况,而且我也测试过了,拿到的确实是TreeManager类型的,但它就不准我转型!
3 楼 守望者 2007-10-11  
我用的是1.5版本的,换个版本还是不行啊!真叫人抓狂!
2 楼 lixiao 2007-10-11  
同意楼上的
先看看自己的jde/jre版本是否一致且1.5以上
然后,如果你用的是eclipse
检查转型前后两个类是否真的是同一个类
我就搞过一次前后两个名字一样,但是实际包不一样的情况
可以在前面import检查一下,或者把类名带包名写全

1 楼 tOODays 2007-10-11  
换个JRE版本试试.

相关推荐

    凯立德的一个折腾教程.rar

    这个“凯立德的一个折腾教程”就专门针对这一问题,提供了详细的步骤和技巧,帮助用户深入理解和操作凯立德导航。 首先,我们要明白凯立德导航的核心功能是提供实时的路线规划、交通信息提示以及目的地搜索服务。...

    《趁年轻 折腾吧》ppt书摘.rar

    9. **人生规划**:《趁年轻 折腾吧》提醒年轻人要对未来有所规划,根据自己的兴趣和目标,合理安排时间,把握每一个阶段的人生重点。 10. **心态调整**:保持积极的心态是折腾过程中不可或缺的一部分。面对困难和...

    IT管理书籍《骨干是折腾出来的》电子版

    在组织内部,一个恪尽职守的员工是其他团队成员的典范,也是组织高效运作不可或缺的一部分。 接着,信仰组织的员工,视自己为组织的一部分,他们会认同组织的目标和价值观,并愿意为之付出努力。这种信仰组织的精神...

    在N-Gage上折腾一个Hello World程序.docx

    对于初学者来说,编写第一个程序通常是“Hello World”程序,这是一个简单的输出“Hello World”文字的程序,用于熟悉开发环境和基本流程。 在设置开发环境时,开发者需要下载并安装合适的SDK。在本文档中,作者...

    树莓派网线折腾

    树莓派网线折腾。树莓派网线折腾树莓派网线折腾树莓派网线折腾树莓派网线折腾

    刘宗孺:一个“爱折腾”的智能家居开拓者.pdf

    智能家居行业近年来随着科技的迅猛发展而快速崛起,它不仅仅是指居住环境的智能化...这些因素共同作用,推动智能家居产品由简单控制向智能学习、自主决策转变,引领人们进入一个更加舒适、便捷、智能化的居住新时代。

    很好用的php 整合环境 以前的php不能用 别去瞎折腾 用这个

    标题中的“很好用的php整合环境”指的是一个预配置的PHP开发环境,它集成了所有必要的组件,使得用户可以快速地在Windows系统上搭建PHP开发和运行平台,无需逐一安装和配置PHP、Web服务器(如Apache或Nginx)、...

    也来折腾折腾css sprites

    ### CSS Sprites技术详解 #### 一、CSS Sprites简介 **CSS Sprites**(通常被称为CSS精灵)是一种被广泛采用的技术,用于提高网站性能,...随着前端技术的发展,CSS Sprites仍然是一个值得学习和掌握的重要知识点。

    ps4 9.00系统esp8266折腾固件

    在本文中,我们将深入探讨如何使用ESP8266微控制器升级PS4的9.00系统,并通过自定义固件实现自动挂载U盘功能,以解决...如果你对硬件编程和物联网有兴趣,这是一个极好的实践项目,能够提升你的技能并带来实际的便利。

    活着就是折腾.doc

    活着就是折腾.doc

    一机多图折腾版

    "一机多图"意味着在同一个设备上可以安装并切换使用多个不同的地图应用。这样做的好处在于,用户可以根据不同地图的特点选择最适合当前行驶条件的地图,例如,某些地图可能在城市道路导航上更精准,而其他地图则可能...

    2016 你我再折腾一次如何——励志ppt模板.rar

    有人安于现状、涛声依旧,有人继续哀叹贫穷、麻木不仁...但,也有人在使劲折腾中,一步一步实现了自己的目标,所以,不折腾,你永远都是——“做梦君...折腾,是对梦想的尊重,2016 你我再折腾一次如何,励志ppt模板。

    生活就是折腾简洁哲理性ppt模板.rar

    在这个模板中,每个页面可以分别探讨一个主题,如自由、幸福等,通过图表、图片和简短的文本传达每种状态下的“折腾”含义。 3. **视觉元素**:在设计中,应使用简洁明了的图像来表达抽象的概念。例如,可以用风筝...

    Deepin折腾笔记v3.2.pdf

    支持国产系统,共建开源世界;学习使用Linux;deepin是一个年轻化的、美轮美奂的、应用多、操作简单的系统!

    listview 左滑弹出删除按钮,需要折腾一下

    标题"listview 左滑弹出删除按钮,需要折腾一下"表明我们要实现一个功能,即当用户向左滑动ListView中的条目时,会显示一个删除按钮,用户点击后可以删除该条目。这个功能在许多应用中很常见,比如邮件应用中的邮件...

    vue-cli项目修改文件热重载失效的解决方法

    遇到一个很奇怪的问题,就是之前vue-cli创建的项目,在起初修改文件可以热重载,但是后面突然间就无法无刷新浏览器更新了,一只以为是热重载出问题了,折腾了半天也没纠结出什么结论,最后百度了一下,原来是编译器...

    NUC 折腾笔记 安装 ESXi.docx

    NUC 折腾笔记 安装 ESXi.docx

    初中语文文摘人生青春就是“瞎折腾”

    作者结合个人经历,深刻地描绘了青春的成长轨迹与内在价值,通过求职、工作态度、职业成长、决策反思、自我认知、父母角色、成功与挑战以及人生阶段的过渡,让我们了解到一个年轻人如何在“瞎折腾”中成长,最终找到...

    4、Linux折腾笔记v6.2.pdf

    4、Linux折腾笔记v6.2.pdf

Global site tag (gtag.js) - Google Analytics