一种基于标签的Jsp表单只读页面代码生成方法

文档序号:6376828阅读:1069来源:国知局
专利名称:一种基于标签的Jsp表单只读页面代码生成方法
技术领域
本发明涉及信息技术领域,特别是JSP标签只读状态代码生成的实现。
背景技术
表单页面生成技术是Web应用开发中的常见技术。表单页面的代码,一般符合html规范。包括一组或者多组的输入域,在增加修改状态时,表单元素一般显示为可编辑状态。而在浏览状态时,一般设计表单元素为只读状态,页面资源可共享。这种页面设计的处理,虽然可共用同一个页面代码,但显示效果不佳。常理,只读状态一般会按照打印格式,直接显示为文本,而不是采用输入控件样式。本发明通过自定义标签技术,提供了一种页面代码生成方法,使得在表单页面在只读状态下面,通过开关自动控制输入域在页面上面的最终显示效果可编辑状态显示为控件、只读状态显示为文本。通过该方法,可以提高页面的感知度,更清晰的表达表单页面需要显示的数据。

发明内容
本发明公开了一种基于标签的Jsp表单只读页面代码生成方法,通过定义标签只读属性的方式实现同一个表单页面资源,在只读和编辑两种状态下面,生成不同的html脚本。同时,在状态属性方面,提供了控件级别和表单级别两种控制方式。为实现上述发明目的,本发明提供一套自定义控件标签。包括常用的Windows表单控件的标签,如单行文本框、多行文本框、下拉选框、单选框、复选框。标签的属性,设计有Provider属性和Status属性。Provider属性用来描述值的绑定关系;Status用作控制标签最终的展现样式,通过该Status开关属性,选择不同的代码生成器来构建标签最终展现的html脚本。这样只读和编辑两种状态页面可以使用同一个页面资源,但是展现为截然不同的页面效果。标签的属性,还包括一般表单元素类型的常用属性,以支持相应的表单元素功能。本发明还提供了 Form表单标签。表单标签提供了 Provider和Status属性。Status属性控制整个表单的显示状态,下级表单控件标签可继承该属性,当Form标签设置了 Status属性,整个表单所有控件将优先按照Form标签的状态控制显示。本发明还提供输入域值绑定的方法。Provider属性用来设置表单内各输入域值的绑定对象。空对象为初始化表单、值对象为编辑表单。值的绑定通过jstl表达式传递。对象类型为Map〈String, String〉,key与表单元素同名,value为表单元素的值。本发明还提供字典表缓存功能。但元素进行值绑定时,input输入框直接由Map的key/value完成对象的赋值。select的赋值通过provider进行key的name转换。字典数据的缓存动态完成。缓存结构设计为ConcurrentHashMap〈name, Map〈String, String 。由上述方案可以看出,本发明中通过标签属性的设置控制Jsp表单属性只读页面代码生成,实现同一个表单页面资源,在只读和编辑两种状态下面,生成不同的html脚本。通过字典缓存的方式加快页面数据的查询和绑定。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍。图为本发明实施例中系统结构示意图。
具体实施例方式为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式
对本发明作进一步的说明。实施例一,参见图。
本发明提供一种基于标签的Jsp表单只读页面代码生成方法,通过定义标签只读 属性的方式实现同一个表单页面资源,在只读和编辑两种状态下面,生成不同的html脚本。其开发实施过程如下I)在web项目中添加标签库jar包。2)创建jsp页面,在页面中导入tld。3)在jsp页面,添加form标签,设置status属性和provider属性,provider属性传入 Map〈String, String〉。4)在form标签内,添加控件标签,设置status属性。如form已指定status时,控件设置的status属性无效。5)启动web服务器,浏览status页面,查看效果。6)切换form标签status属性,再次浏览status页面,查看效果。由上述方案可以看出,本发明中通过自定义标签技术,提供了一种页面代码生成方法,使得在表单页面在只读状态下面,通过开关自动控制输入域在页面上面的最终显示效果可编辑状态显示为控件、只读状态显示为文本。通过该方法,提高了页面的感知度,更清晰的表达表单页面需要显示的数据。
权利要求
1.一种基于标签的Jsp表单只读页面代码生成方法,其特征在于设计了一组包含Status属性的控件标签,包括常用的Windows表单控件的标签,如单行文本框、多行文本框、下拉选框、单选框、复选框等;同时也包括Grid、Window等容器标签;标签包含特定属性Status,用作控制标签最终显示效果的开关,当status属性为edit时,标签显示为控件;如果status属性为read时,标签仅显示为文本信息,这样设计和浏览页面可以使用同一行标签代码。
2.一种基于标签的Jsp表单只读页面代码生成方法,其特征在于设计了一组包含Status属性的表单标签,其特征在于表单标签也包含Status属性,做为整个标签的全局设置;当表单设置了 Status属性,那么表单内的各输入域标签都能继承该属性。
3.一种基于标签的Jsp表单只读页面代码生成方法,其特征在于设计了一组代码生成模版,其特征在于代码生成通过Velocity模版引擎实现,表单、控件标签均定义了自己的生成代码的模版文件。
4.一种基于标签的Jsp表单只读页面代码生成方法,其特征在于设计了一种输入域值的绑定方法,其特征在于输入域的绑定可以分为两张情况静态数据和动态数据,静态数据的绑定通过属性值绑定;动态数据的绑定通过统一的Provider接口来实现。
5.一种基于标签的Jsp表单只读页面代码生成方法,其特征在于设计了一种值绑定字典表数据缓存的设计,其特征在于输入域绑定时,可自动缓存键值对数据;字段缓存对应的数据源由标签字典属性指定。
全文摘要
本发明公开了一种基于标签的Jsp表单只读页面代码生成方法。JSP表单页面,一般包括一组或者多组的输入域,在增加修改状态时,表单元素一般显示为可编辑状态。而在浏览状态时,一般设计表单元素为只读状态,页面资源可共享。这种页面设计的处理,虽然可共用同一个页面代码,但显示效果不佳。常理,只读状态一般会按照打印格式,直接显示为文本,而不是采用输入控件样式。本发明通过自定义标签技术,提供了一种页面代码生成方法,使得在表单页面在只读状态下面,通过开关自动控制输入域在页面上面的最终显示效果可编辑状态显示为控件、只读状态显示为文本。通过该方法,可以提高页面的感知度,更清晰的表达表单页面需要显示的数据。
文档编号G06F9/44GK102915239SQ201210337279
公开日2013年2月6日 申请日期2012年9月6日 优先权日2012年9月6日
发明者周涛, 汤湛成, 田之进 申请人:佳都新太科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1