<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    soufan

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      22 隨筆 :: 0 文章 :: 0 評論 :: 0 Trackbacks
    (轉)
    下面是一個email驗證器的示例: ?

    EmailValidator.java:

    import?javax.faces.application.FacesMessage;
    import?javax.faces.component.UIComponent;
    import?javax.faces.context.FacesContext;
    import?javax.faces.validator.Validator;
    import?javax.faces.validator.ValidatorException;
    ?
    public?class?EmailValidator?implements?Validator?{
    ?
    ????private?String?errorMessage?=?null;
    ?
    ????public?void?setErrorMessage(String?errorMessage)?{?this.errorMessage?=?errorMessage;?}
    ?
    ????public?void?validate(FacesContext?context,?UIComponent?component,?Object?value)?{
    ????????if?(null?==?value)?{
    ????????????return;
    ????????}
    ?
    ????????String?email?=?(String)?value;
    ?
    ????????if?(-1?==?email.indexOf('@',?1)?||?-1?==?email.indexOf('.'))?{
    ????????????if?(errorMessage?!=?null)?{
    ????????????????throw?new?ValidatorException(new?FacesMessage(Tags.eval(errorMessage)));
    ????????????}?else?{
    ????????????????//?use?default?validator?message
    ????????????????throw?new?ValidatorException(null);
    ????????????}
    ????????}
    ????}
    }

    Tags.java:

    import?javax.faces.application.Application;
    import?javax.faces.component.UIComponent;
    import?javax.faces.component.UIInput;
    import?javax.faces.context.FacesContext;
    import?javax.faces.el.MethodBinding;
    import?javax.faces.el.ValueBinding;
    import?javax.faces.event.ValueChangeEvent;
    import?javax.faces.webapp.ConverterTag;
    import?javax.faces.webapp.UIComponentTag;
    ?
    public?class?Tags?{
    ???//?Converter?Tags?and?Validator?Tags?helper?methods
    ????public?static?String?eval(String?expression)?{
    ????????if?(expression?!=?null?&&?UIComponentTag.isValueReference(expression))?{
    ????????????FacesContext?context?=?FacesContext.getCurrentInstance();
    ????????????Application?app?=?context.getApplication();
    ????????????ValueBinding?vb?=?app.createValueBinding(expression);
    ????????????return?""?+?vb.getValue(context);
    ????????}?else?{
    ????????????return?expression;
    ????????}
    ????}
    }

    ?

    ?

    ?

    EmailValidatorTag.java:

    import?javax.faces.component.UIComponent;
    import?javax.faces.validator.Validator;
    import?javax.faces.webapp.ValidatorTag;
    import?javax.servlet.jsp.JspException;
    ?
    public?class?EmailValidatorTag?extends?ValidatorTag?{
    ?
    ????private?String?errorMessage?=?null;
    ?
    ????public?EmailValidatorTag()?{
    ????????setValidatorId("Email");
    ????}
    ?
    ????public?void?setErrorMessage(String?errorMessage)?{?this.errorMessage?=?errorMessage;?}
    ?
    ????public?Validator?createValidator()?throws?JspException?{
    ????????EmailValidator?validator?=?(EmailValidator)?super.createValidator();
    ????????validator.setErrorMessage(errorMessage);
    ?
    ????????return?validator;
    ????}
    ?
    ????public?void?release()?{
    ????????errorMessage?=?null;
    ????}
    }

    ?

    ?

    faces-config.xml:

    <validator>
        <validator-id>Email</validator-id>
        <validator-class>EmailValidator</validator-class>
    </validator>
    

    mytags.tld:

    <?xml version="1.0" encoding="UTF-8"?>
     
    <!DOCTYPE taglib PUBLIC
        "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"
        "http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
     
    <taglib>
     
    <tlibversion>1.0</tlibversion>
    <jspversion>1.2</jspversion>
    <shortname>mytags</shortname>
    <uri>mytags</uri>
     
    <tag>
        <name>validateEmail</name>
        <tagclass>EmailValidatorTag</tagclass>
     
        <attribute>
            <name>errorMessage</name>
            <description>message if a validation error occurs</description>
        </attribute>
    </tag>
     
    </taglib>
    

    ?

    mypage.jsp:

    <h:inputText id="email" required="true">
        <mytags:validateEmail errorMessage="#{bean.message}"/>
    </h:inputText>
    
    posted on 2006-12-19 16:02 soufan 閱讀(235) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲gay片在线gv网站| 亚洲国产精品成人综合久久久 | 好吊妞788免费视频播放| 亚洲国产成人无码av在线播放| 免费A级毛片av无码| 久久久无码精品亚洲日韩按摩| 久久久久久久久久国产精品免费| 国产国拍亚洲精品mv在线观看| 91在线免费视频| 久久久久亚洲精品影视| 一级毛片免费观看| 亚洲精品人成电影网| 久久久久久精品成人免费图片| 亚洲va成无码人在线观看| 成年丰满熟妇午夜免费视频| 性色av极品无码专区亚洲 | 亚洲成AV人片在线观看无码 | jjzz亚洲亚洲女人| 一本大道一卡二大卡三卡免费| 在线亚洲精品福利网址导航| 香港a毛片免费观看| 亚洲国产最大av| 免费又黄又爽的视频| 最新亚洲成av人免费看| 中文字幕亚洲精品| 免费激情视频网站| 久久国产精品免费一区二区三区| 亚洲黄色在线观看视频| 妞干网在线免费视频| a级毛片免费高清视频| 亚洲视频在线不卡| 日本特黄特色aa大片免费| 一级成人生活片免费看| 亚洲综合激情另类小说区| 日韩高清免费在线观看| 免费a级毛片无码a∨免费软件| 亚洲欧洲日产国码二区首页| 国产一级一片免费播放| 日本一道本不卡免费| 欧美激情综合亚洲一二区| 亚洲AV综合色区无码一区爱AV|