📄 newuserbean.java
字号:
package com.jsfabc.jsh.view.bean;
import com.jsfabc.jsh.model.bo.Department;
import com.jsfabc.jsh.model.bo.Person;
import com.jsfabc.jsh.model.service.UserService;
import javax.faces.context.FacesContext;
import javax.faces.application.FacesMessage;
import com.jsfabc.jsh.model.exception.DuplicateUserException;
import com.jsfabc.jsh.model.exception.DbException;
import com.jsfabc.jsh.utils.MessageFactory;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
public class NewUserBean {
//用于管理员创建新用户
private String newId;
//用户密码
private String newPwd;
//用于重输的密码
private String pwd;
//真实姓名
private String newName;
//电子邮件
private String newEmail;
//电话
private String newTel;
//部门Id
private Integer depId;
//部门名称
private String depName;
//用户服务
private UserService userService;
//构造函数
public NewUserBean() {
}
/////用于注册
// 用户名的取得与设置
public String getNewId() {
return newId;
}
public void setNewId(String newValue) {
this.newId = newValue;
}
// 用户真实姓名的取得与设置
public String getNewName() {
return newName;
}
public void setNewName(String newValue){
this.newName = newValue;
}
// 密码的取得与设置
public String getNewPwd() {
return newPwd;
}
public void setNewPwd(String newValue){
this.newPwd = newValue;
}
// 重输密码的取得与设置
public String getPwd() {
return pwd;
}
public void setPwd(String newValue){
this.pwd = newValue;
}
//部门Id
public Integer getDepId() {
return depId;
}
public void setDepId(Integer newValue){
this.depId = newValue;
}
//部门名
public String getDepName() {
return depName;
}
public void setDepName(String newValue){
this.depName = newValue;
}
public String getNewEmail() {
return this.newEmail;
}
public void setNewEmail(String newValue) {
this.newEmail = newValue;
}
public String getNewTel() {
return this.newTel;
}
public void setNewTel(String newValue) {
this.newTel = newValue;
}
//创建日志对象
Log log=LogFactory.getLog(this.getClass());
//依赖注入
//设置业务服务对象
public void setUserService(UserService newValue){
this.userService=newValue;
}
public String registerAction(){
//取得faces上下文
FacesContext facesContext= FacesContext.getCurrentInstance();
//验证电子邮件
String emailReg="^[\\w-]+(\\.[\\w-]+)*@[\\w-]+(\\.[\\w-]+)+$";
//将给定的正则表达式编译到模式中
Pattern mask=Pattern.compile(emailReg);
//创建匹配给定输入与此模式的匹配器。
Matcher matcher = mask.matcher(newEmail);
//搜索与正则表达式相匹配的目标字符串
if (!matcher.find()){
//如果没有搜索到相匹配的字符串,构造一个消息
FacesMessage message = new FacesMessage();
//在消息中添加Email无效的内容
message.setDetail("输入的Email地址无效");
//在消息中添加Email无效的内容摘要
message.setSummary("输入的Email地址无效");
//设置消息的严重等级
message.setSeverity(FacesMessage.SEVERITY_ERROR);
facesContext.addMessage(null,message);
return "failure";
}
//声明人员变量
Person person = null;
//调用业务对象的注册方法
try{
//获得选取的部门
Department selectedDep=new Department();
selectedDep.setDepartmentId(depId);
//调用业务服务的注册方法
person = userService.register
(newId, newPwd, pwd,newName,selectedDep,newEmail,newTel);
if(person!=null){
//返回导航规则字符串
return "success";
}
else{
//否则在faces上下文中添加出错消息
facesContext.addMessage(null,
new FacesMessage(FacesMessage.SEVERITY_WARN,
"The password of the two enter isn't same.", ""));
//返回导航规则字符串
return "failure";
}
}
catch(DuplicateUserException ue){
facesContext.addMessage(null,
new FacesMessage(FacesMessage.SEVERITY_WARN,
"This user name: " + newName + " already exist.", ""));
//在日志中记录尝试重复注册的用户ID
log.warn(newName + ": already registered!");
return "failure";
}
catch(DbException de){
//捕获DbException异常
FacesMessage msg=MessageFactory.getMessage
(facesContext,"error_database_error","");
msg.setSeverity(FacesMessage.SEVERITY_WARN);
facesContext.addMessage(null,msg);
return "failure";
}
catch(Exception e){
//捕获其他异常
FacesMessage msg=MessageFactory.getMessage
(facesContext,"error_unexpected","");
msg.setSeverity(FacesMessage.SEVERITY_ERROR);
facesContext.addMessage(null,msg);
return "error";
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -