Web中自定义配置列表展现标签的实现和应用

上传人:s9****2 文档编号:554929610 上传时间:2023-08-26 格式:DOCX 页数:2 大小:13.72KB
返回 下载 相关 举报
Web中自定义配置列表展现标签的实现和应用_第1页
第1页 / 共2页
Web中自定义配置列表展现标签的实现和应用_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

《Web中自定义配置列表展现标签的实现和应用》由会员分享,可在线阅读,更多相关《Web中自定义配置列表展现标签的实现和应用(2页珍藏版)》请在金锄头文库上搜索。

1、Web中自定义配置列表展现标签的实现和应用摘要:对使用WEB构建的系统中经常遇到的大量的分页及查询问题。结合WEB标签技术实现分页查询标签,从而达到配置的配置页面列表,以及易于维护的目的。关键词:WEB;标签;分页 其中使用的变量有id,styleClass, border,width,rowClasses,INPUT_ROWID_NAME,等变量在页面使用标签是以属性的方式设置相应的值。 2.2 配置查询列表查询条件的处理 在页面呈现过程中有使用查询条件查询页面数据,在页面渲染时,通过PageConditionTag标签获得页面中引用的Id获取到定义表格的唯一标识(此标识同表格分页展现标签P

2、aginationTag中使用的ID ),读取到定义表格时配置的表格查询参数,通过QueryHandle取到定义ID下待查询的业务表的Label及字段(对应到具体的数据库表字段)。使用JSP内置对象request获取页面对用下的Parameters的值,然后传递给PaginationTag类,由此类中doEndTage方法使用。JSP内置对象pageContext负责页面输出html代码。具体主要实现代码片段如下: public int doEndTag() throws JspException resetScript = new StringBuffer(); if(columns1)co

3、lumns=1; /表的别名是 _表名 List whC_show = selectManager.findSqlWhereBySMId(id); int whC_size = whC_show.size(); / boolean ariseButton = false; QueryParam param = (QueryParam) getSession().getAttribute(QueryParam_+id); try /table for (int i = 0; i rowsNum; i+) /tr for (int j = 0; j columns; j+) WhereClause

4、 swc = whC_show.get(i*columns+j); jwriter.println(+swc.getWhereClauseLabel()+);/td文本内容 /显示查询条件 if(StringUtils.isEmpty(swc.getSelectOptionsClass() /私有方法,展现页面的文本框, outInputText(swc, param); else /私有方法,展现页面的下拉框。 outSelectOneMenu(swc, param); if( i=rowsNum-1 & j=columns-1 )/比如四个查询条件,2列,则按钮应该在第二列最后 /输出“查

5、询”和“重置”按钮 /输入结束标签 /输入结束标签 /输入结束标签 catch (IOException e) return EVAL_PAGE; 2.3 定义列表的查询规则 在上面的介绍中,用到列表定义ID及定义规则。定义规则的使用是为了规范及约束列表具体显示内容及显示风格。那么ID自然就是区别不同的列表的唯一标识。在定义规则中首先要定义待查询的数据库表,数据表的引人解决的在查询中引用的查询对象,接着需要添加要查询的字段。此时需要对查询字段添加具体的约束,例如是否为空、是否需要分组查询、分组条件及排序等相应设置。 这一阶段做完之后基本的查询语句,可以生成。为了处理复杂表间关系,我们仍需要以下

6、两步工作;一、添加查询条件信息;二、添加表与表之间关系。 (1) 数据库表具体定义如下表 属性 说明取值类型说明序号(int)区分多表关联是使用 表名称(String)数据库表名描述(String)表介绍 (2)数据库表字段具体定义如下表 属性 说明取值类型说明序号(int)显示表格中对应列的位置 显示的列头名称(String)列名称(为空时隐藏)是否需要聚合函数(max,min,sum)对应数据库中字段(表的字段)关联到当前表格的具体字段映射值(String)此字段值在显示时相应的映射名称字段显示的长度(int)对应页面的显示长度对齐方式(left,right,center)页面显示位置等同

7、html align属性链接地址(String)对应的字段的链接地址(如果存在)链接target(self,blank,parent,top)对应的JS事件(String)支持的脚本事件是否为主键(是,否)本列是否为主键 (3)对表的字段查询定义时,具体定义类型如下表 属性 说明取值类型说明序号(int)显示表格中对应列的位置 查询条件Label(String)查询条件显示的名称(为空时隐藏)查询条件字段(表的字段)关联到当前表的具体字段查询通配符(like,=,,)字段在查询是使用的通配符对应值(String)可以从session 或request 中获取$下拉列表(String)要实现Su

8、portSelect接口。输入框是否只读(是 ,否)输入框的属性约束输入框样式(String)等同 html-class=“”对应的JS事件(String)支持的脚本事件查询条件or /and(and,or)几对条件可能为or(默认为) 2.4 标签库的描述(tld文件) 如同任何JSP tag handler类,已经写好的标签类PaginationTag.java和PageConditionTag也必须声明在一个tld文件中,其中文件名为querytld。在这个tld文件中必须声明2和tag和6个属性,也即id,styleClass, rowClasses, align ,border ,w

9、idth,它们都在PaginationTagPage和ConditionTag和中已经定义实现。针对querytld标签的属性 描述的代码片段如下: shelf core library shelf core 1.1 shelf condition com.org.wtg.PaginationTag empty exhibit sql query condition list id true true 上面为ID的配置方式,styleClass rowClasses align border width配置同上 标签ConditionTag的配置同上。 将写好的tld文件可以直接以单独文件的形

10、式存放在应用系统的目录结构中的适当位置,通常放在应用系统的Web-INF目录下。当然此文件也可以放在封装的jar文件的META-INF目录下。 2.5 标签的客户端调用 首先在页面(比如queryjsp)中增加一个taglib指令,声明含有自定义动作组件的标记库,接着再插入这个自定义标签并设置id属性为“201002262058001”等,代码如下: 1、 JSP配置标签,jsp头部加入 2、 配置查询条件,在需要显示查询条件的位置加入 3、 配置查询结果,在需要显示查询结果的位置加入 3. 结束语 正如我们所看到的一样,只要理解JSP自定义标签的实现机制,遵循上述步骤,及实现原理,就解决了原本复杂、难以实现的列表展现问题,从而真正的提高了开发效率。 参考文献: 【1】 J2EE完全参考手册。 sun公司j2ee开发文档,2007 【2】 JavaScript 宝典(第四版) 【3】 关系型数据库的理论及其应用。施伯乐,何继潮,崔靖,郑州:河南科技出版社,1990 【4】 软件工程-实践者的研究方法。 梅宏译,机械工业出版社,2004 【5】 软件测试,周予滨,姚静 等译,机械工业出版社,2007

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号