文档章节

加强版ActionReporter,提升eclipse源代码定位功能

绝望的八皮
 绝望的八皮
发布于 2012/07/22 20:10
字数 903
阅读 3665
收藏 3

 目前的的ActionReporter可以定位到当前方法调用过的Controller,点击eclipse控制台中的链接可以定位到改类的第一行,但是并不能直接定位到调用方法的那一行。

为了进一步提供开发者的体验,我加强了ActionReporter的源代码定位功能,能直接定位到调用的方法上面。先看下面效果图。 

 

当请请求调用了MobileBindController的heart方法,控制可以直接打出heart方法在 MobileBindController.java中的行数。

在java代码中虽然有能得到当前方法栈上的代码行数,但是由于jfinal中的aop并没有使用第三方的字节码工具修改原类的字节码,所有没有办法在方法调用之前知道要调用方法的行数。如果使用spring aop可以把这个功能切到目标方法调用的前面,应该可以达到效果。(没实际操作过还..)

在不修改字节码的情况下,我暂时只想到利用源码来计算行数..反正都是开发阶段,这样其实也无大碍..原理很简单.得到调用的类和方法然后到对应源文件去找该方法的字符串所在行。实现不够优雅但是功能还是挺实用的。

代码中删除字符串空格的方法直接copy自commons-lang。

代码再jdk7下编写