您的位置:首页 > 其它

一次排除异常的经历

2014-01-16 20:22 806 查看

错误描述

在sakai中,以普通注册用户登录系统,在个人资料页面的“基本信息”和“工作信息”模块中单击“编辑”按钮无反应(无编辑界面出现)并且按F12在Console窗口中出现500错误。



同时在Tomcat的程序窗口中出现如下异常提示:



排错过程

先在IDEA中单步调试,希望能发现异常的触发点,但最终进入了数个.class文件,无法发现触发异常的语句。

之后仔细查看异常的堆栈跟踪,发现有如下信息:

at wicket.contrib.tinymce.settings.TinyMCESettings.lazyLoadTinyMCEResource

(TinyMCESettings.java:971)



at
wicket.contrib.tinymce.TinyMceBehavior.renderHead(TinyMceBehavior.java:60)

两处,而TinyMCE是一个具有富文本编辑功能的组件,而在MyInfoEdit.java文件和MyBusinessEdit.java中都有如下语句

/* In MyBusinessEdit.java */
businessBiography.add(new TinyMceBehavior(new TextareaTinyMceSettings()));


/* In MyInfoEdit.java */
personalSummary.add(new TinyMceBehavior(new TextareaTinyMceSettings()));


因此怀疑是TinyMCE组件的问题。果然,将这两处的语句注释掉,并且在对应的MyBusinessEdit.html和MyInfoEdit.html中将相应的wicket标签注释掉。

重新编译以后问题解决。

讨论

现在的解决方案只是很简单地把两个使用了TinyMCE控件的地方去掉,但更深层次的问题应该处在TinyMCE自己的内部逻辑上。有待进一步研究。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: