⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 newuserbean.java

📁 用JSF.Spring和Hibernate开发的一个办公用品管理系统的WEB应用。
💻 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 + -