JSTL 源码研究之二:c 标签浮光掠影

本文以 c 标签为例来分析 JSTL 的源码。

JSTL 对标签的实现,比前面的看起来要复杂些,以 OutTag 为例,下图中,OutTag 出现在三个包中

c out tag in three directories

真的不清楚为什么要写同名的三个类,而且 compat 和 el 包下的类内容也是一样的,但通过标签配置文件,可以找到实际用到的类。

浏览 core tag 部分的代码,做类图如下:

class diagram of c tag

上面的类图很明显地反映出一个程序语言通用的地方,即程序语句的三种结构:顺序语句,条件判断,和循环结构。

趣事

在看源码时,发现很多类都是 Shawn Bayern 写的,就去搜了下,结果搜了一堆,都是和法学院相关,感觉不对劲,再搜"Shawn Bayer jstl",搜到维基页面 http://en.wikipedia.org/wiki/Shawn_Bayern,一看,乐了:这哥们儿还真行,后来转到法律去了,牛屄啊。他的官方个人主页是:http://www.law.fsu.edu/faculty/sbayern.html,这里对他的计算机经历一字未提。

类图的源文件在:https://cyiridiumsitewikineed.googlecode.com/svn/trunk/uml/jstl.zargo