广州北大青鸟计算机职业培训学校
互联网技术培训、软件技术培训、大数据培训、云计算培训、数据分析培训信息网
当前位置:网站首页 > 软件教程 > Java技术 > 正文

惠州分享JSF自定义验证器实例_北大青鸟IT软件学校

作者:邓华发布时间:2021-04-28分类:Java技术浏览:746


导读:今天惠州北大青鸟老师给大家分享JSF自定义验证器的实例,希望能帮助大家更好的学习Java知识。

今天惠州北大青鸟老师给大家分享JSF自定义验证器的实例,希望能帮助大家更好的学习Java知识。

实例

以下代码来自EmailValidator.java。

package cn.w3cschool.common;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

import javax.faces.application.FacesMessage;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.validator.FacesValidator;
import javax.faces.validator.Validator;
import javax.faces.validator.ValidatorException;

@FacesValidator("cn.w3cschool.common.EmailValidator")public class EmailValidator implements Validator{  private static final String EMAIL_PATTERN = "^[_A-Za-z0-9-]+(\\." +      "[_A-Za-z0-9-]+)*@[A-Za-z0-9]+(\\.[A-Za-z0-9]+)*" +      "(\\.[A-Za-z]{2,})$";  private Pattern pattern;  private Matcher matcher;  
 public EmailValidator(){
     pattern = Pattern.compile(EMAIL_PATTERN);
 }
 
 @Override  public void validate(FacesContext context, UIComponent component,
     Object value) throws ValidatorException {
   
   matcher = pattern.matcher(value.toString());    if(!matcher.matches()){
     
     FacesMessage msg =
       new FacesMessage("E-mail validation failed.",
           "Invalid E-mail format.");
     msg.setSeverity(FacesMessage.SEVERITY_ERROR);      throw new ValidatorException(msg);

   }

 }

}

以下代码来自demo.xhtml。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"  
     xmlns:h="http://java.sun.com/jsf/html"
     xmlns:f="http://java.sun.com/jsf/core">
   <h:body>
   <h:form>
     <h:panelGrid columns="3">
       Enter your email :
       <h:inputText id="email" value="#{user.email}"
         size="20" required="true" label="Email Address">
         <f:validator validatorId="cn.w3cschool.common.EmailValidator" />
       </h:inputText>
       <h:message for="email" style="color:red" />
     </h:panelGrid>
     <h:commandButton value="Submit" action="result" />
   </h:form>
   </h:body>
</html>

以下代码来自result.xhtml。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"  
     xmlns:h="http://java.sun.com/jsf/html"
     >
   <h:body>
     
     <h1>Custom validator in JSF 2.0</h1>
     
     <h:panelGrid columns="2">
     
       Email Address :  
       <h:outputText value="#{user.email}" />
       
     </h:panelGrid>
     
   </h:body>
</html>

下面的代码来自UserBean.java。

package cn.w3cschool.common;

import java.io.Serializable;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;

@ManagedBean(name="user")
@SessionScopedpublic class UserBean implements Serializable{  
 private static final long serialVersionUID = 1L;
 
 String email;  public String getEmail() {
   return email;
 }  public void setEmail(String email) {
   this.email = email;
 }

}

想了解更多关于Java的资讯吗?可以来惠州北大青鸟新方舟校区了解一下。

Java11.png

Java

标签:惠州计算机JAVA软件开发惠州计算机Java软件开发惠州计算机JAVA培训惠州计算机JAVA软件开发学校惠州计算机Java软件开发培训JAVAJava软件开发北大青鸟IT计算机学校北大青鸟IT软件学校北大青鸟IT学校


Java技术排行
标签列表
网站分类
文章归档
最近发表