Java

本类阅读TOP10

·使用MyEclipse开发Struts框架的Hello World!(录像1)
·hibernate配置笔记
·AOP编程入门--Java篇
·linux下Tomcat 5.0.20 与 Apache 2 安装/集成/配置
·在win2003下整合了整合Tomcat5.5+ apache_2.0.53+ mod_jk_2.0.47.dll
·构建Linux下IDE环境--Eclipse篇
·Jsp 连接 mySQL、Oracle 数据库备忘(Windows平台)
·ASP、JSP、PHP 三种技术比较
·Tomcat5.5.9的安装配置
·AWT GUI 设计笔记(二)

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
BaseSimpleTagSupport,BaseTagSupport,BaseBodyTagSupport,ActionTag

作者:未知 来源:月光软件站 加入时间:2005-5-13 月光软件站

在使用JSP标签时,有大量的操作代码是重复的,这些代码分别集中到BaseSimpleTagSupport,BaseTagSupport, BaseBodyTagSupport三个标签支持父类中,分别继承三个基础类,SimpleTagSupport,BaseTagSupport, BaseBodyTagSupport。作为大部分情况下,使用SimpleTagSupport生成的处理程序,结合logic标签和 pagedefault标签在页面上设置变量,并可以使用bean/invoke标签访问各个java对象的熟性,实现了让不懂JAVA的人员可以直接在 HTML上“写程序”;除非是必须内嵌或循环等需要,否则没有必要使用后面两个更复杂的标签。

所有jsp标签都可以通过继承这三个标签中的一个完成指定的所有功能,当然,也可以直接继承其父类,然后自已实现代码——实际上覆盖父类方法也是一样的。

三个标签中集中了如下通用的功能:

  1. 完成一般都要完成的得到response之类的操作;
  2. 生成空白的本类操作的ActionErrors类,以备错误时装载错误信息;
  3. 完成日志准备,包括错误点和相关变量的统一输出,(程序正常不输出);
  4. errors错误转向目标,如果是"NONE"则不作错误转向,如果为空,自动采集默认错误页;
  5. nexto目标,完成操作后的下一步redirect目标,可以使用source之类;如果为空,就不转向
  6. 自动完成标签内部变量重置;

需要特别说明的是BaseSimpleTagSupport和后两者的nexto的方式是不一样的。由于SimpleTagSupport只有一个体内容,所以无论是错误还是目的转向都没有区别,只是转向对象的改变。而后两者则有doEnd,doStart,doAfter三个体内容,如果在doStartTag就转向,显然不符合要求,因此,BaseTagSupport和BaseBodyTagSupport的nexto转向都在doEnd执行,而如果发生错误,则在任何位置转向错误页面,默认是errors.jsp

ActionTag标签继承BaseSimpleTagSupport,是所有进行操作类型的父标签,相当于struts中的ActionServlet,它完成以下的工作,其中主要是对数据库记录的操作:
  1. 从request中采集到ActionForm对象,作为MVC的基础;
  2. 根据上下文条件和dao实体的比对,可以实现对数据操作的行级的权限控制,具体控制定义方式由dao中的entity.privileges.privilege对象定义(xml决定)
  3. 对指定的form域进行验证,类似于jakarta.validator的使用。
DeleteTag,AppendTa,BatchDeleteTag,ModifyTag等,分别是对数据库对象的DMO操作,一般情况下只要指明 ent类型就可以对所有的表进行读写和批处理,特别的处理类型,可以继承相应的类,然后覆盖repro方法,从而实现最大限度的代码重用及模块化组织。

posted Friday, 22 April 2005




相关文章

相关软件