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

在 JSP 中支持验证

这些规则都不错,但是仍然有一个显著的问题:JSP 页面没有办法报告错误!例如,如果这里重新部署应用程序,将会发现用错误的值 提交验证表单不会 转向 success.jsp。这是对的,也是朝着正确方向的一步。但是,它也特别令人郁闷;表单只是在浏览器中重新出现,至于出了什么错误却没有任何指示。

请打开 pages/test-validation.jsp 来处理这个问题。首先,需要提供了一个地方,供发生错误时显示。这可以由 html:errors 元素很好地处理。请把以下内容插在 html:form 元素前:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>

<%@ taglib uri="/tags/struts-bean" prefix="bean" %>

<%@ taglib uri="/tags/struts-html" prefix="html" %>

<html:xhtml />

<html>

<head>

<title><bean:message key="valid.title" /></title>

</head>

<html:errors />

<html:form action="/SubmitValid" focus="username">

如果现在重新部署,并试着输入错误数据,将开始看到错误消息,如图 4 所示:

用错误数据提交表单现在会触发错误消息

图 4:用错误数据提交表单现在会触发错误消息

现在朝着真正坚固的验证又进了一步。但是,仍然在服务器端;在提交表单时会得到讨厌的闪烁,然后不得不等待服务器响应。这里的目标是用 JavaScript 编码的验证(或者更好一些,不必为了每个表单手工编写 JavaScript)。高兴的是,只要几个额外标记,Validator 就允许把它的服务器端代码转换成客户端 JavaScript 脚本:

</html:form>

<html:javascript formName="ValidationForm" cdata="false" />

</body>

不是很多哦!只有一行代码,但是它告诉 Struts 插入所有支持表单客户端验证的 JavaScript。还请注意非常重要的 cdata 属性。必须 把它设置成 false,否则客户端验证不会工作。如果把它设置成 true(默认设置),那么 Struts 生成的 HTML 会把 JavaScript 放在 <![CDATA[ 和 ]]> 标记内。由于一些我不太清楚的原因,多数现代浏览器(Mozilla Firefox 和 Safari 在其中最出名)会忽略这样包含的 JavaScript,所以客户端验证不会执行。

在这一阶段,我要指出,即使忘记了 cdata=false 这一部分,仍然可以得到验证,只不过是在服务器端而已。在任何情况下,Validator 在服务器端都会验证数据,所以如果忘记了这个属性、甚至关闭 JavaScript 或跳过它,也都会得到一个备份。使用 Validator 有一个很好的副作用 —— 它会尝试并捕获每个可能的错误。

测试完成的应用程序

启用 JavaScript 后,最后一次重新部署应用程序,并输入各种错误数据。单击 Submit,将得到一个精彩的客户端错误列表(如图 5、6、7 所示)。这可能是您惟一的一次因为看到错误消息而兴奋!

口令太短

图 5:口令太短

电话号码格式不对

图 6:电话号码格式不对

错误的电子邮件确实被当作错误

图 7:错误的电子邮件确实被当作错误



共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  声明:刊登此文章是为了传递更多信息,文章内容仅供参考,转载请注明出处。