zoukankan      html  css  js  c++  java
  • 一次排除异常的经历

    错误描述

    在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自己的内部逻辑上。有待进一步研究。

  • 相关阅读:
    JQuery对象操作支持链式法则源码分析
    JQuery + JSON作为前后台数据交换格式实践
    JQuery html API支持解析执行Javascript脚本功能实现-代码分析
    跨域访问实践
    XP下安装MAC OS虚拟系统
    Android APP开发笔记
    CSS浮动与清浮动
    LUA 模块化编程例子
    JavaScript解决命名冲突的一种方法
    XML中文本节点存储任意字符的方法
  • 原文地址:https://www.cnblogs.com/ryuasuka/p/3523119.html
Copyright © 2011-2022 走看看