




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
JSF转换器与验证器信息工程学院软件系转换器(Converter)协助模型与视图之间的数据转换。完成HTTP字符串Java对象JSF内建(标准)转换器JSF提供一组标准的Converter用来转换组件数据,可以完成基本数据类型的自动转换,不需要显示的调用。转换器的使用将组件值绑定到与转换器类型相同的托管(辅助)Bean上,JSF自动进行转换;通过组件的converter属性指明转换器在组件标签中嵌入一个转换标签<f:converter>使用转换器标签的converterId属性引用转换器。日期转换器—DateTimeConverter转换对象必须是Date。属性:dateStyle:日期格式;在pattern未指定且type为date时有效值:default、short、medium、long和full。pattern:自定义格式;指定后,type、dateStyle、timeStyle将被忽略。timeStyle:时间格式;同dateStyle。type:值:date、time、both;指定结果中包含的内容。日期转换器<h:outputTextvalue="#{user.dateTime}">
<f:convertDateTimepattern="yyyy年MM月dd日"/></h:outputText><h:inputTextvalue="#{convert.birthday}">
<f:convertDateTimepattern="yyyy-mm-dd"/></h:inputText>数值转换—convertNumber字符串和数值之间转换。属性:currencyCode:货币代码;currencySymbol:货币符号;groupingUsed:是否包含分组符,true|false;integerOnly:只显示整数部分,true|false;pattern:自定义格式;type:显示风格,有效值:number|currency|percentage数值转换<h:outputTextvalue="89.443"> <f:convertNumberpattern="0,000.0000"/></h:outputText>错误信息显示<h:messagefor="ID"style="?"/>for:组件ID;style:信息显示的样式<h:form><h:inputTextid="dateField"value="#{user.date}"><f:convertDateTimepattern="dd/MM/yyyy"/></h:inputText><h:messagefor="dateField"style="color:red"/><br><h:commandButtonvalue="送出"action="show"/></h:form>指定转换错误信息<h:tagconvertMessage="?"/><h:form><h:inputTextid="dateField"value="#{user.date}"
convertMessage="请按dd/mm/yyyy格式输入"
><f:convertDateTimepattern="dd/MM/yyyy"/></h:inputText><h:messagefor="dateField"style="color:red"/><br><h:commandButtonvalue="送出"action="show"/></h:form>自定义转换器实现javax.faces.convert.Converter接口的publicObjectgetAsObject(FacesContextcontext,UIComponentcomponent,Stringstr);publicStringgetAsString(FacesContextcontext,UIComponentcomponent,Objectobj);两个方法。转换失败时抛出:ConverterException异常注册转换器在faces-config.xml中注册:<converter><converter-id>ID</converter-id><converter-class>
转换器完全类名</converter-class></converter>自定义转换器制作一个人名的转换器!publicclassConvertimplementsConverter{
publicObjectgetAsObject(FacesContextarg0,
UIComponentarg1,Stringarg2){ UserNameusrName=newUserName(); try{ String[]name=arg2.split(","); usrName.setFirstName(name[0]); usrName.setLastName(name[1]); } catch(Exceptione){ thrownewConverterException(); } returnusrName; }自定义转换器制作一个人名的转换器!
publicStringgetAsString(FacesContextarg0,
UIComponentarg1,Objectarg2){ if(arg2==null){ returnnull; } UserNameuName=(UserName)arg2; returnuName.getFirstName()+","+uName.getLastName();
}
}验证器内置验证器<f:validateDoubleRange>
验证一个浮点型数据必须在指定范围内;<f:validateLongRange>
验证一个长整型数据必须在指定范围内;<f:validateLength>
验证对象值的长度必须在指定范围内;验证器内置验证器属性maximum:指定最大长度或最大值minimum:指定最小长度或最小值验证器错误信息属性validatorMessage验证器必填验证器<h:inputTagrequired="true"/>requiredMessage:错误信息自定义验证器实现javax.faces.validator.Validator接口,并实现
validate(FacesContextcontext,UIComponentcomponent,Objectobj)方法。验证失败时抛出:ValidatorException异常自定义验证器注册验证器<validator> <validator-id>ID</validator-id> <validator-class>CLASS</validator-class> </validator>自定义验证器验证口令长度不能少于6个字符,并由字母和数值组成。publicclassPasswdVadimplementsValidator{publicvoidvalidate(FacesContextcontext,UIComponentcomponent,Objectobj){Stringpassword=(String)obj;
if(password.length()<6){FacesMessagemessage=newFacesMessage(FacesMessage.SEVERITY_ERROR,"长度小于6","口令长度不能小于6");thrownewValidatorException(message);}自定义验证器验证口令长度不能少于6个字符,并由字母和数值组成。if(!password.matches(".+[0-9]+")){FacesMessagemess
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2031年中国花生牛奶行业发展前景预测及投资方向研究报告
- 2025年中国电子材料行业市场前景预测及投资战略研究报告
- 中国特种陶瓷成型蜡项目投资可行性研究报告
- 中国土矿石开采项目投资可行性研究报告
- 2025年中国炸鸡调料行业市场调研及未来发展趋势预测报告
- 培训服务合同
- 储能电池项目可行性研究报告模板及范文
- 中国电致发光显示器行业发展前景及投资战略咨询报告
- 中国电子垃圾管理解决方案行业市场前景预测及投资价值评估分析报告
- 2024年云南省工业和信息化厅下属事业单位真题
- 工业大数据的安全与隐私保护-洞察阐释
- 人工智能赋能思政教育“精准滴灌”体系构建
- 搬运装卸服务外包项目投标方案(技术方案)
- 2025年安全月主要责任人讲安全课件三:安全月主题宣讲课件
- 病原微生物识别技巧试题及答案
- 绿植移植合同协议
- 2024-2025学年高中中国航天日班会 课件 弘扬航天精神 逐梦星辰大海
- 胶质瘤术后护理查房
- 缝纫初步知识培训课件
- 不稳定型心绞痛护理诊断及护理措施
- 年中国金骨莲胶囊市场分析及发展策略研究预测报告
评论
0/150
提交评论