怎样在struts中实现JS通用表单验证.doc_第1页
怎样在struts中实现JS通用表单验证.doc_第2页
怎样在struts中实现JS通用表单验证.doc_第3页
怎样在struts中实现JS通用表单验证.doc_第4页
怎样在struts中实现JS通用表单验证.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

怎样在struts中实现JS通用表单验证?关键词: javascript struts 通用 表单 验证 作者:欧阳春本篇通过介绍部分源代码及简单举例来说明struts架构中页面输入的JS验证问题及经过扩展后struts标签的使用。本struts的javascript表单验证能够推出要感谢“我佛山人”的优秀的JS表单验证代码。基于JSP标签的验证请直接参照 通用表单验证.chm。下面只对struts标签的验证实现与使用进行举例说明:文中红色标记处为新增struts标签属性,不可更改属性中的值为关键字,不可更改在JSP文件中使用标签时就跟普通struts标签一样使用,不过多了些控制属性如简单吧,实际的页面效果如那么如何才能实现这个效果呢?别着急,一步步来,还是需要花点功夫的。一、扩展struts源代码要做到集成JS,用标签解决表单验证,这一步当然是少不了的表单中需要验证的最常见的无非就是以下几种,text、textarea、password、hidden、radio、select、checkbox,因为text、password、hidden都是继承抽象类BaseFieldTag,标签的实现也在BaseFieldTag中,加上其它的每个都要扩展,所以需要修改和扩展的类就有5个,首先要说明的是,我们所作修改要尽量作扩展而不是直接修改struts里面的类,这样可以方便struts新版本的更新。由于有很多类都依赖于BaseFieldTag,而我们需要的也恰恰在BaseFieldTag里实现,迫不得已,我们还是要修改BaseFieldTag(以增加新的属性,无兼容性问题),除此之外,其它类一律用扩展方式。下面只举例修改BaseFieldTag,其它类似,就不一一列出了。关键部分在方法public int doStartTag()中,由于代码较长,只列出重要部分,其实也比较简单滴,只是将JS验证需要的属性添加进去而已,以便生成被控制的表单控件。如下if (type != null & (type.equals(text)|type.equals(hidden)|type.equals(password) if (dataType != null) results.append( dataType=); results.append(dataType); results.append(); if (min != null) results.append( min=); results.append(min); results.append(); if (max != null) results.append( max=); results.append(max); results.append(); if (operator != null) results.append( operator=); results.append(operator); results.append(); if (require != null) results.append( require=); results.append(require); results.append(); if (to != null) results.append( to=); results.append(to); results.append(); if (format != null) results.append( format=); results.append(format); results.append(); if (regexp != null) results.append( regexp=); results.append(regexp); results.append(); if (msg != null) results.append( msg=); results.append(msg); results.append(); if (onselect != null) results.append( onSelect=); results.append(onselect); results.append(); 二、修改你的struts中的struts-html.tld文件在相关tag处增加需要的属性,例如textorg.apache.struts.taglib.html.TextTag dataType false true max false true min false true msg false true operator false true require false true to false true format false true regexp false true .ouyang.tag.ExtRadioTag dataType false true msg false true require false true 其实标签名为:text、textarea、password、hidden、radio、select、checkbox都是需要添加新的属性的三、一切就绪后,在JSP中就可以用集成JS验证的新的标签了首先,在您的JSP最前面请引入JS源文件,假设JS文件名为check.js,如下:script language=JavaScript src=/js/check.js在FORM处请如下编写(红色标记处为您的Form ID):在您提交或点击按钮或任何您需要验证当前表单的时候,如下:经过扩展,使用本标签已可实现多种标签(text、textarea、password、hidden、checkbox、select、radio)及多条件限制同时启用,若使用多条件验证时,各条件之间请以分号”;”间隔,且dataType与msg必须一一对应,即有一个

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论