it167.com  设为主页
 收藏本站
 
  资讯:业界动态 | 软件动态 | 人物专栏 | 安全资讯 | 网络生活 | 电子商务 | 小游戏 | 视频 | 美女图片 | 音乐
  网络编程 | 网站运营 | 网页制作 | 图形图象 | 操作系统 | 媒体动画 | 软件教学 | 网络应用 | 邮件系统 | 网络安全 | 认证考试
asp | .net | php | jsp | Sql | java | Dreamweaver | FrontPages | Javascript | css | Coreldraw | photoshop | Flash | Coreldraw
当前位置: > 主页>网络编程>Java>JAVA开发技巧>使用 Struts Validator(1)
最新新闻

·机会与整合 边缘化互联
·TOM-Skype新增三大本地
·雅虎抢闸邮箱竞赛 网易
·新浪抢攻北京奥运
·洞悉网络口碑的掘金机会
·拆解网络病毒黑金交易
·木马下载器近期出现新变
·《互联网周刊》第17期文
·Web2.0是否催生自吹自擂
·三张宝宝裸照招来MSN封
热门新闻
·Java SE 6 的HTTP 协议
·Java中对HashMap的深度
·Java调用Oracle的过程和
·开源技术 Eclipse使用技
·深入了解WebLogic的类装
·Java进阶:Struts多模块
·Java初学者入门经典:面
·Jave学习精华:Jsp小结
·Java学习:EJB的专用术语
·编程必备经典:Java常见
推荐新闻
 
 

使用 Struts Validator(1) 

作者:   来源:it167   点击:   日期:2007-01-28

移到 JavaScript 进行验证

客户端验证最明显的选择就是 JavaScript。这个流行的脚本语言易于学习、灵活,而且在每个现代 Web 浏览器中都可用(虽然会有所差别)。对于许多应用程序来说,JavaScript 足够好了。但是,仍然有些不足。

首先,JavaScript 仍然是代码,所以就像其他代码一样,必须编写、测试、调试和部署 JavaScript。如果从 5 位邮编转到 9 位邮编,那么验证代码就要改变,而且需要在它们影响的所有页面上测试修改。虽然这项工作对于得到清爽的、让用户高兴的结果来说很值得,但却是一项时间密集型工作。

在使用 JavaScript 时,也会非常麻烦 —— 可以容易地把 scriplet 放进 HTML 页面,但是会给维护带来恶梦。虽然进行限制并不太难,但是有种诱惑就是只对页面内的脚本做 “一次快速修正”,却从来不删除这段脚本并重写 JavaScript 库中的代码。

最后,可能必须要一个项目一个项目都带着 JavaScript 库。这也不算什么大麻烦,但是个问题 —— 对于部署代码的每个平台都要测试该代码。

请不要误解我 —— JavaScript 是验证的优秀解决方案,但是如果用 Struts,那么还会有第三个 —— 甚至更好的选项。

了解 Struts Validator

Struts 提供了一个名为 Validator 的优秀组件。Validator 可以插入 Struts 应用程序(将在 安装 Validator 框架 中介绍),甚至直接和最新的 Struts 发行版绑定在一起。只要几个 JAR 文件就可以了。但是 Validator 强在什么地方呢?为什么要用它代替 JavaScript 呢?

而且,您应当认识到,Validator 的大部分执行都使用 JavaScript。所以实际上并没有离开 JavaScript,而且得到的客户端验证也是 JavaScript 擅长的内容。但是,Validator 消除了 JavaScript 的许多问题。首先,它是由成千上万的 Struts 开发人员和用户编码、测试和调试过的,因此降低了您需要进行的测试数量。(我绝对不是 暗示您不要测试;Validator 只是降低了测试负担,但并没有完全消除它。)

另外,Validator 提供了大量常用验证函数,所以您不必为电子邮件地址、电话号码、邮编以及其他常用数据编写验证器。这棒不棒?

而最重要的,可能是 Struts Validator 主要通过配置文件工作,而不用内联的 HTML 代码。通过简单的 XML 文件,可以指示要验证哪个字段,要执行哪类验证。Struts 和 Validator 负责把配置变成工作的 JavaScript 代码,您这一边不需要做任何额外工作!虽然偶尔也要为特定于应用程序的数据添加新的验证函数,但是在 HTML 中使用这些函数的工作由 Struts 处理 —— 不需要手工过程。这就是 Validator 真正胜出而珍贵的地方。被说服了么?现在来看它。

设置示例应用程序

从 struts-blank WAR 开始

在介绍如何使用 Validator 之前,需要利用一个示例应用程序。如果用二进制发行版安装了 Struts(细节请参阅 附录),那么就有了一个好的起点。请确保 Tomcat 正在运行,并导航到 http://localhost:8080/struts-blank。应当看到像图 1 所示的内容:

struts-blank 应用程序提供了新应用程序的模板

图 1:struts-blank 应用程序提供了新应用程序的模板

这页上的文本明确地说明了需要做的事情:

1、找到磁盘上的 struts-blank.war 文件。(在我的机器上,是 /usr/local/jakarta-tomcat-5.5.9/webapps/struts-blank.war。)

2、把这个文件拷贝到可以处理它的地方,或者在开发目录中,或者在桌面上。

3、把 test-validation.war 文件改名。这个文件将是在这篇文章中要开发的验证应用程序的基础。

现在需要把 WAR 文件展开到一组目录中,这样可以方便地处理。请创建一个在其中操作的目录; 我通常给它起名为 staging 或类似的名称。创建了目录之后,请用 jar 命令,使用 xvf 选项把这个文件展开到新建的目录中,如清单 1 所示:

清单 1. WAR 文件目录

[bmclaugh:/usr/local/java]$ ls

jakarta-struts-1.2.4    src                     xalan-j_2_6_0

jakarta-tomcat-5.5.9    test-validation.war

[bmclaugh:/usr/local/java]$ mkdir staging

[bmclaugh:/usr/local/java]$ cd staging

[bmclaugh:/usr/local/java/staging]$ jar xvf ../test-validation.war

created: META-INF/

inflated: META-INF/MANIFEST.MF

created: WEB-INF/

created: WEB-INF/classes/

created: WEB-INF/classes/resources/

created: WEB-INF/lib/

created: WEB-INF/src/

created: WEB-INF/src/java/

created: WEB-INF/src/java/resources/

created: pages/

inflated: WEB-INF/classes/MessageResources.properties

inflated: WEB-INF/classes/resources/MessageResources.properties

inflated: WEB-INF/lib/commons-beanutils.jar

inflated: WEB-INF/lib/commons-collections.jar

inflated: WEB-INF/lib/commons-digester.jar

inflated: WEB-INF/lib/commons-fileupload.jar

inflated: WEB-INF/lib/commons-logging.jar

inflated: WEB-INF/lib/commons-validator.jar

inflated: WEB-INF/lib/jakarta-oro.jar

inflated: WEB-INF/lib/struts.jar

inflated: WEB-INF/src/README.txt

inflated: WEB-INF/src/build.xml

inflated: WEB-INF/src/java/resources/application.properties

inflated: WEB-INF/struts-bean.tld

inflated: WEB-INF/struts-config.xml

inflated: WEB-INF/struts-html.tld

inflated: WEB-INF/struts-logic.tld

inflated: WEB-INF/struts-nested.tld

inflated: WEB-INF/struts-tiles.tld

inflated: WEB-INF/tiles-defs.xml

inflated: WEB-INF/validation.xml

inflated: WEB-INF/validator-rules.xml

inflated: WEB-INF/web.xml

inflated: index.jsp

inflated: pages/Welcome.jsp

可以对这些文件做修改,根据个人需要定制应用程序。这种方法的好处是所有的设置文件都有了,不用考虑要下载所有正确的 WAR 文件。有哪个开发人员不喜欢这么好的方便呢?



共13页: 上一页 [1] 2 [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] 下一页
文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【论坛讨论

   相关文章:
·用J2SE 1.4进行Internet安全编程(上)(1) ·J2EE项目开发经验二则
·J2EE WEB应用架构分析(1) ·J2EE中XML配置文件的读取处理
·Eclipse开发工具简介 ·论J2EE开发Web应用程序中的安全认证机制(

   文章评论:(0条)
  
 请留名: 匿名评论   点击查看所有评论 网管论坛
 

  责任编辑:it167  声明:刊登此文章是为了传递更多信息,文章内容仅供参考,转载请注明出处。