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

📄 passwordbean.java

📁 用JSF.Spring和Hibernate开发的一个办公用品管理系统的WEB应用。
💻 JAVA
字号:
package com.jsfabc.jsh.view.bean;

import com.jsfabc.jsh.model.service.UserService;
import javax.faces.context.FacesContext;
import javax.faces.application.FacesMessage;
import com.jsfabc.jsh.model.exception.DbException;
import com.jsfabc.jsh.utils.MessageFactory;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

public class PasswordBean {	
    //一个UserBean,用来取得登录用户的信息
	private UserBean user;
    //用于登录的密码
    private String password;
    //用于修改密码
    private String newPassword;  
    //用于重输密码
    private String pwd;   

    //用户服务
    private UserService userService;
    //构造函数
    public PasswordBean() {
    	
    }
  
    // 密码的取得与设置
    public String getPwd() { return pwd; }
    public void setPwd(String newValue) {
    	this.pwd = newValue; 
    }
    
    // 新密码的取得与设置
    public String getNewPassword() { return newPassword; }
    public void setNewPassword(String newValue) {
    	this.newPassword = newValue; 
    }
    
    // 重输密码的取得与设置
    public String getPassword() { return password; }
    public void setPassword(String newValue) {
    	this.password = newValue; 
    } 
    
    //创建日志对象
    Log log=LogFactory.getLog(this.getClass());
    
    //依赖注入
    public void setUserService(UserService newValue){
    	this.userService=newValue;
    }    
    //UserBean的注入
    public void setUser(UserBean newValue){
    	this.user=newValue;
    }
    
    //用户改变自己的密码
    public String alterPasswordAction(){
    	 //取得faces上下文
    	FacesContext facesContext= FacesContext.getCurrentInstance();
    	//处理输入的两次新密码不同的情况
    	if(!(newPassword.equals(pwd))){
            //声明一个两次输入的密码不相同的消息
    		FacesMessage msg = new FacesMessage();
            msg.setSummary("两次输入的新密码不相同。");
            msg.setDetail("两次输入的新密码不相同。");            
            //为了与原来例子保持一致,这里设置了消息的严重等级
            msg.setSeverity(FacesMessage.SEVERITY_WARN);
            //将消息保存在facesContext中,供其他过程使用
            facesContext.addMessage(null,msg);
            //返回loginAction方法的结果,
            //该结果是一个字符串,用于与导航规则比较,导航到登录失败后的页面
            return "failure";
    	}
    	//取旧密码
    	String oldPassword=user.getPassword();
    	//处理旧密码输入不正确的情况
        if(!(oldPassword.equals(password))){        	
    		FacesMessage msg = new FacesMessage();
            msg.setSummary("旧密码不正确。");
            msg.setDetail("旧密码不正确。");           
            //为了与原来例子保持一致,这里设置了消息的严重等级
            msg.setSeverity(FacesMessage.SEVERITY_WARN);            
            //将消息保存在facesContext中,供其他过程使用
            facesContext.addMessage(null,msg);
            //返回loginAction方法的结果,
            //该结果是一个字符串,用于与导航规则比较,导航到登录失败后的页面
            return "failure"; 
	     }
    	 try{
    		//取得用户的人员标识
    		String personId=user.getUserName();
    		userService.updatePassword(personId,newPassword);    		 
    		return "success"; 
    	 }
     	 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 "failure";
        }
    }
    
}

    

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -