利用jsp标准动作指令访问和操作javaBeans,是首次尝试将表现代码和业务逻辑实现分离。但是,标准动作指令的功能不够强大,单独使用时,开发者经常要使用jsp页面中的java代码。例如,标准动作指令无法像jstl的forEach标签那样迭代集合。
认识到了用javabean分离表现逻辑和业务逻辑的不足之处之后,jsp1.1就定义了定制标签。定制标签具有javaBeans所没有的优势。例如,定制标签可以访问jsp隐式对象,可以带有属性等。
在jsp2.0中,他们在javax.servlet.jsp.tagext包中添加了新的接口:simpleTag。实现SimpleTag接口的标签处理器称作简单的标签处理器,实现Tag、Iteration或BodyTag接口的标签处理器称作典型的标签处理器。
简单的标签处理器的声明周期更加简单,并且更容易。SimpleTag接口中只有一个方法:doTag,并且在标签调用时只执行一次。业务逻辑、迭代及主体操作代码都要在这里编写。简单的标签处理器中的主体是用一个JspFragment类实例表示的。
原文地址:http://blog.csdn.net/benjamin_whx/article/details/38588833