您好,欢迎访问三七文档
ValidateAndConvert金蝶中间件公司ApusicOperaMasks培训教程KingdeeMiddleware2007-03目录WHY?1WHAT?2WHERE?3KingdeeMiddleware2007-03WHY?几乎每一个WEB应用都需要完成以下一些任务:检查所有必须填写的字段都以正确的格式存在;当值错误或者缺少时重新显示页面,在保留正确信息的同时显示错误提示;对业务逻辑的合法性进行判断并给出相应的提示;在数据由页面和服务端之间互相流转时进行必要的转换;......使用标准的Servlet/JSP技术实现校验和转换非常麻烦即使使用JSP2.0的表达式语言仍然不够灵活;而过多的业务规则进入页面让整体结构变得杂乱;KingdeeMiddleware2007-03目录WHY?1WHAT?2WHERE?3KingdeeMiddleware2007-03WHAT?JSF生命周期中的处理校验阶段(ProcessValidationsPhase)位于应用视图值阶段(ApplyRequestValuesPhase)和更新模型值阶段(UpdateModelValuesPhase)之间,处理所有组件树上注册的校验器,检查设置了校验的组件属性,如果值不合法JSF在上下文(FacesContext)中加入错误信息,生命周期直接进入显示应答阶段,显示错误信息,如果有转换错误也会显示。AOM(ApusicOperaMasks)是JSF规范的一个实现,并且在JSF规范之上扩展了校验和转换的处理方式,让校验和转换变得更为简单和灵活。KingdeeMiddleware2007-03WHAT-传统的JSF校验方式在UI组件上使用校验标签f:validateLength/后台Bean的验证方法通过EL表达式引用自定义校验器类通过faces-config.xml文件注入validatorvalidator-iddefaultValidator/validator-idvalidator-classorg.operamasks.faces.validator.RegexpValidator/validator-class/validatorKingdeeMiddleware2007-03WHAT-AOM中的校验简单校验使用标注(Annotation)方式进行校验客户端校验如何进行客户端校验自定义校验方法通过自定义方法进行复杂逻辑的校验完整的上下文校验根据上下文场景进行校验自定义校验器KingdeeMiddleware2007-03WHAT-校验简单校验RequiredValidateDoubleRangeValidateLengthValidateLongRangeValidateRegexpKingdeeMiddleware2007-03WHAT-校验客户端校验clientValidate属性的设置KingdeeMiddleware2007-03WHAT-校验自定义校验方法Validate标注的使用自定义校验方法的定义方式•标准写法:publicvoidvalidate(FacesContextcontext,UIComponentcomponent,Objectvalue);这是javax.faces.validator.Validator接口所定义的标准方法,采用这种写法可以得到当前正在校验的UI组件,以获得更多的控制。•简略写法publicbooleanvalidate(Objectvalue);对输入值进行校验,如果成功则返回true,否则返回false。当采用这种写法时最好设置@Validate标注的message属性,用于提供出错信息。•返回不同出错信息的简略写法publicStringvalidate(Objectvalue);当需要根据不同的校验结果显示不同的出错信息时可以采用这种写法,当方法返回null时表示校验成功,否则将返回值作为出错信息。注意在返回的字符串中可以包含EL表达式,因此可以很容易地实现国际化而不是硬编码的固定字符串。•抛出ValidatorException的简略写法publicvoidvalidate(Objectvalue)throwsValidatorException;同第三种方式类似,只不过将出错信息包含在ValidatorException中抛出。KingdeeMiddleware2007-03WHAT-校验上下文校验参见示例KingdeeMiddleware2007-03WHAT-转换由页面至服务端ConvertConvertDateTimeConvertNumber由服务端至页面FormatKingdeeMiddleware2007-03目录WHY?1WHAT?2WHERE?3KingdeeMiddleware2007-03WHERE?增加校验和转换的位置通过在使用IoVC机制绑定的后台属性上添加Annotation的方式加入校验和转换处理;在页面中使用f:validator/,f:converter/等标签增加校验和转换处理;通过配置faces-config.xml文件增加自定义校验器和转换器;问题与交流
本文标题:金蝶中间件公司.
链接地址:https://www.777doc.com/doc-3488764 .html