4 Validator和tiles框架.ppt_第1页
4 Validator和tiles框架.ppt_第2页
4 Validator和tiles框架.ppt_第3页
4 Validator和tiles框架.ppt_第4页
4 Validator和tiles框架.ppt_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

第四章 Validator验证框架 回顾 ActionErrors类充当包含所有ActionError实例的容器标签库是绑定在一起的一组JSP自定义标签Logic标签库提供了一组丰富的标签 可用于执行JSP页面中的条件逻辑国际化 I18N 是设计应用程序以支持多语言和地区的过程 目标 掌握ActionForm的表单验证掌握Validator验证框架了解Struts组件包 ActionForm ActionForm2 1 用户 已验证 Action类 validate reset 控件收到视图组件发送的HTTP请求 创建ActionForm类 使用ActionForm的reset 方法重置布尔值和字符串值 存储ActionForm类和所需的作用域参数 使用validate 方法验证ActionForm的对象 使用HTTP请求的值填充ActionForm类 ActionForm2 2 表单数据验证2 2 publicActionErrorsvalidate ActionMappingactionMapping HttpServletRequesthttpServletRequest ActionErrorserrors newActionErrors if userName null userName equals errors add ActionErrors GLOBAL MESSAGE newActionError error name returnerrors 演示 案例 Validator框架优点 使用Validator验证框架具有以下的优点 在工程中一处为应用程序创建的验证规则 可以在其他多处地方使用 验证规则和应用程序是松耦合的 配置新验证规则或修改已有验证规则变得更加简单 提供了对国际化的支持 提供了对正则表达式的支持 可以在同一处定义 同时为服务器端和客户端创建验证规则 只需配置验证规则而无须代码实现 返回 6 2 2应用Struts校验框架 安装和配置 Struts校验框架的安装及配置流程包括如下几步 在工程中引入oro jar和commons validator jar 这两个jar包提供了Struts校验框架的核心代码 配置validator rules xml和validation xml 其中validator rules xml充当模板的作用 定义了所有应用程序可能要用到的验证规则 在Struts配置文件struts config xml中添加校验规则文件信息的声明 格式如下 返回 6 2 3应用Struts校验框架 应用实例 1 本案例对输入的Email地址格式进行校验 实现步骤如下 1 创建视图validator jsp 该页面文件主要代码如下 6 2 3应用Struts校验框架 应用实例 2 2 建立JavaBean类User java 代码如下 publicclassUser privateStringemail E mail地址publicStringgetEmail returnemail publicvoidsetEmail Stringemail this email email 6 2 3应用Struts校验框架 应用实例 3 3 创建Action类ValidatorAction java 主要代码如下 DynaActionFormdyForm DynaActionForm form Stringemail String dyForm get email Useruser newUser user setEmail email ActionMessageserrors dyForm validate mapping request if errors null 6 2 3应用Struts校验框架 应用实例 4 4 创建并配置struts config xml 代码如下 6 2 3应用Struts校验框架 应用实例 5 5 创建验证规则文件validator rules xml和验证内容文件validation xml 其中validator rules xml内容可直接从Struts发布包中获取 validation xml主要代码如下 6 建立资源文件Application properties 代码如下 validator jsp title 验证页面validator jsp page heading 请输入E mail地址 email required 输入不能为空 email error 您输入的不是合法的E mail地址 6 2 3应用Struts校验框架 应用实例 6 7 在web xml中添加相应配置 添加内容如下 ActionServletorg apache struts action ActionServletconfig WEB INF struts config xmlconfig validator WEB INF validator rules xml WEB INF validation xml2ActionServlet do 6 2 3应用Struts校验框架 应用实例 7 7 发布并运行程序 当我们在文本框内不输入任何信息直接提交时 得到结果如右图所示 当我们输入错误格式并提交时 得到结果如右图所示 当我们输入正确格式并提交时 得到结果如右图所示 返回 6 2 4应用Struts校验框架 自定义校验规则 1 Validator框架具有良好的扩展性 因此自定义验证规则并不是一件困难的事情 只要创建一个实现这个规则的Java类即可 例如创建一个校验规则判断用户两次输入的密码是否一致 实现代码如下 publicstaticbooleanvalidateTwoFields Objectbean ValidatorActionva Fieldfield ActionMessageserrors Validatorvalidator HttpServletRequestrequest Stringvalue null if isString bean 判断是否为字符串value String bean else value ValidatorUtils getValueAsString bean field getProperty 6 2 4应用Struts校验框架 自定义校验规则 2 StringsProperty field getVarValue secondProperty Stringvalue2 ValidatorUtils getValueAsString bean sProperty if GenericValidator isBlankOrNull value try if value equals value2 判断属性值是否相等errors add field getKey Resources getActionMessage validator request va field returnfalse catch Exceptione errors add field getKey Resources getActionMessage validator request va field returnfalse returntrue 6 2 4应用Struts校验框架 自定义校验规则 3 privatestaticbooleanisString Objecto if o null return true return String class isInstance o 在validator rules xml中添加该验证规则 添加内容如下 返回 6 3使用Tiles框架 了解Tiles框架使用标签使用Tiles模板 返回 6 3 1使用Tiles框架 了解Tiles框架 Tiles框架建立在JSP的include技术基础上 但却提供了比include更强大的功能 Tiles框架为创建Web页面提供了一种模板的机制 通过XML配置文件将页面划分为多个 title header menu body footer 并使用模块进行管理 将页面的布局与页面的内容进行分离 返回 6 3 2使用Tiles框架 使用标签 标签可把其他JSP页面插入到当前页面中 它的功能和JSP的include指令相似 使用该标签的示例代码如下 返回 6 3 2使用Tiles框架 使用Tiles模板 1 采用标签虽然解除了用户界面组件的耦合 但是如果需要改变页面布局 而此时又有许多页面拥有相同的布局 那么将需要修改大量的页面 为了提高页面的可重用性和可维护性 可以使用Tiles的模板机制 Tiles模板是一种描述页面布局的JSP页面 它可使每个页面上的用户界面保持一致 有相同的导航栏 页眉和页脚等 6 3 2使用Tiles框架 使用Tiles模板 2 Tiles模板的应用可按如下几步实现 1 创建模板文件 例如模板文件layout jsp的主要代码如下 注意 这里标签的attribute属性仅指定待插入内容的逻辑名称 而未指定要插入的文件 6 3 2使用Tiles框架 使用Tiles模板 3 2 在JSP页面中引用模板 例如layout jsp的主要代码如下 这里使用标签指定使用的模板文件为 layout jsp 使用标签指定插入页面的实现名称 其中name属性和模板文件中标签的attribute属性相对应 value属性值为具体的页面 对于使用相同布局的不同页面来说 我们只需修

温馨提示

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

评论

0/150

提交评论