JSF转换器&验证器的使用

来源:互联网 发布:eviews横截面数据步骤 编辑:程序博客网 时间:2024/06/05 02:18
转换器部分:
<f:validateRequired/>或required="true"  :验证非空

<f:covertNumber>  :将字符串转为自定义的数字类型
属性:
    ①type:number数值(default), currency货币 , or percent百分数
   ②pattern:Formatting pattern, as defined in java.text.DecimalFormat
   ③maxFractionDigits:最大小数的位数
   ④minFractionDigits
   ⑤minIntegerDigits
   ⑥integerOnly(boolean):
   ⑦currencyCode:ISO 4217 currency code to use when converting currency values
   ⑧currencySymbol
例子:

输出结果:


f:convertDateTime   :将字符串转为指定格式的Date
属性:
    ①type:date (default), time, or both
    ②dateStyle:default, short, medium, long, or full
    ③timeStyle:同上
    ④pattern:Formatting pattern, as defined in java.text.SimpleDateFormat
      最常用,一般为<f:convertDateTime pattern="yyyy-mm-dd">
    ⑤locale:Locale whose preferences are to be used for parsing and formatting
    ⑥timeZone:转换的时区
将表单中填写的String转换成Date类型,装载到Bean中(过程:先转换、有验证器就验证、最后进入更新模型值阶段,将值注入Bean中)。

自定义转换器:
步骤:
    ①实现Converter接口
    ②实现该接口的两个方法:
     getAsObject()

     String value是从输入组件中获取到的值,在Converter注册后,getAsObject会在值传到后台时被调用,将String转为定制的Object类型。
     getAsString()

     在显示该Bean的值时会传入Bean的该属性(一个对象),调用该方法,计算出String后用于显示。
    ③注册:
        法1:@FacesConverter("id")
        法2:在faces-config.xml中注册
                  <converter>
                        <converter-id></>
                        <converter-class></>
                   </>
    ④使用:
        法1:converter属性="注册id"
        法2:<f:converter converterID="注册id">   标准验证器为全路径:javax.faces.Number
        法3:<f:convertNumber  minFractionDigits=""  .../>

验证器部分:
<f:validateLength  maximum="" minimum=""/>   验证长度
<f:validateLongRange  maximum="" minimum=""/>   验证值的区间
<f:validateDoubleRange  maximum="" minimum=""/>   验证值的区间
<f:validateRegex pattern=""/>   正则验证

自定义验证器:
    ①实现Validator接口
    ②实现validate方法:

    ③@FacesValidator注册或在faces-config.xml注册



原创粉丝点击