示例如下:
由以上知
我们所需文件类型: 分别为注册界面(regist.xhtml)和展示页面(show.xhtml)以及受管Bean(Bean.java)和一个自定义邮箱转换器(EmailConverter.java)。
【1】 regist.xhtml
注册页面
@qq.com
【2】 show.xhtml
展示页面
【3】 Bean.java
package com.niit.bean;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.validator.ValidatorException;
@ManagedBean(name = "bean1")
@SessionScoped
public class Bean1 {
private String username;
private String sno;
private String gender;
private String age;
private String phone;
private String email;
public Bean1() {
gender="M";
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getSno() {
return sno;
}
public void setSno(String sno) {
this.sno = sno;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
System.out.println("email :"+email);
this.email = email;
}
//用户名验证
public void validateName(FacesContext context, UIComponent component, Object value) throws ValidatorException {
String data1 = (String)value;
if(data1 !=null){
if(data1.contains("!") || data1.contains("@") || data1.contains("#")||data1.contains("! ")){
FacesMessage message1=new FacesMessage();
message1.setSummary("*不能输入非法字符");
throw new ValidatorException(message1);
}
}
}
}
【4】 EmailConverter.java
package com.niit.converter;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.convert.Converter;
import javax.faces.convert.FacesConverter;
@FacesConverter(value = "EmailConverter")
public class EmailConverter implements Converter{
@Override
public Object getAsObject(FacesContext context, UIComponent component, String value) {
//去除字符间前后空格的
String data = value.trim();
String email = data+"@qq.com";
return email;
}
@Override
public String getAsString(FacesContext context, UIComponent component, Object value) {
return value.toString();
}
}
展示效果如下



