用ExtJS+Java+ibatis实现的一个简单的修改密码应用

前天用ExtJS做了个修改密码及验证的小应用,共享!


---ExtJS部分--------------------

Ext.BLANK_IMAGE_URL = 'html/js/ext/resources/images/default/s.gif';
Ext.onReady(function() {
            Ext.QuickTips.init();

/**
             * 修改用户密码
             */
            var pswFormPanel = new Ext.form.FormPanel({
                url : 'system/updateUserPsw.action',
                labelAlign : 'right',
                frame : true,
                defaultType  : 'textfield',
                items : [{
                    fieldLabel : '您的旧密码',
                    name : 'PASSWORD',
                    inputType: 'password',
                    allowBlank : false,
                    blankText : '请输入正确的旧密码!',
                    anchor : '97%'
                },{
                    fieldLabel : '输入新密码',
                    name : 'ACCPASSWD',
                    id : 'NEWPASSWORD',
                    inputType: 'password',
                    allowBlank : false,
                    blankText : '密码不能为空!',
                    minLength:6,  
                    minLengthText:'密码长度最少6位!',  
                    maxLength:20,  
                    maxLengthText:'密码长度最多20位!',
                    anchor : '97%'
                },{
                    fieldLabel : '确认新密码',
                    name : 'checkPsw',
                    inputType: 'password',
                    allowBlank : false,
                    blankText : '密码不能为空',
                    minLength:6,  
                    minLengthText:'密码长度最少6位!',  
                    maxLength:20,  
                    maxLengthText:'密码长度最多20位!',
                    id : 'repeatPassword',
                    vtype : 'repeatPassword',  
                    vtypeText : "您两次输入的新密码不一致!",  
                    confirmTo : 'NEWPASSWORD',  
                    anchor : '97%'
                }]
            });
            //密码窗口
            this.pswWindow = new Ext.Window({
                title : '修改密码',
                el : 'pswWin',
                layout : 'fit',
                width : 360,
                height : 175,
                minWidth : 300,
                minHeight : 200,
                buttonAlign : 'center',
                closeAction : 'hide',
                modal : true,
                maximizable : true,
                plain : true,
                constrain : true,
                defaultButton : 0,
                border : false,
                items  : [pswFormPanel],
                buttons: [{
                    text:'提交',
                    handler : function(){
                        pswFormPanel.getForm().submit({
                            success : function(form    , action) {
                                self.pswWindow.hide();
                                Ext.Msg.alert("提示",action.result.msg);
                            },
                            failure : function(form, action) {
                                if(action.failureType == Ext.form.Action.SERVER_INVALID){
                                    Ext.Msg.alert("错误", "您输入的旧密码有误!");
                                    form.reset();
                                } else {
                                    Ext.Msg.alert("错误", "您输入的新密码不一致!");
                                }
                            }
                        });
                    }
                }, {
                    text :'取消',
                    handler : function() {
                        self.pswWindow.hide();
                    }
                }]
            });
           
            showPswWindow = function(){
                self.pswWindow.show();
            }
});   

Ext.apply(Ext.form.VTypes,{
    repeatPassword : function(val,field){
        if(field.confirmTo){
            var pwd = Ext.get(field.confirmTo);
            if(val.trim() != pwd.getValue().trim()){
                return false;
            }
            return true;
        }
    }
});


---Java部分--------------------

配置文件就不写了。

--action中---------

//修改用户密码
    public void updateUserPsw(){
        Long userid = StringUtil.toLong(user.get("USERID"));
        boolean psw = userService.updatePsw(userid, $map());
        this.renderText("{success : " + psw + ",msg:'密码修改成功!'}");
    }

--service中---------

/**
     * 修改用户密码
     * @param userid
     */
    public boolean updatePsw(Long userid, Map map);

--imp中---------

   public boolean updatePsw(Long userid, Map map) {
        map.put("userid", userid);
        HashMap psw = (HashMap<?, ?>) this.queryForObject("UserInfo.getUserPswByUserId", map);
        if (!psw.get("PASSWORD").toString().trim().equals(UtilMD5.crypt(map.get("PASSWORD").toString().trim()))){
            return false;
        }
        map.put("ACCPASSWD",UtilMD5.crypt(map.get("ACCPASSWD").toString().trim()));
        this.update("UserInfo.updateUserPsw",map);
        return true;
    }

 

 

---ibatis部分--------------------

 

<!-- 获取用户密码 -->
    <select id="getUserPswByUserId" resultClass="java.util.HashMap">
        SELECT T.PASSWORD FROM S_USER T WHERE USERID = #userid#
    </select>
    <!-- 修改用户密码 -->
    <update id="updateUserPsw">
        UPDATE S_USER T
        SET T.PASSWORD = #ACCPASSWD#,
            T.ACCPASSWD = #ACCPASSWD#
        WHERE
        T.USERID = #userid#
    </update>

 

 

---界面效果图如下附件--- -----------------


1、 完善的Web表现层开发包:为企业Web表现层开发人员提供的一套完整、高效、美观的B/S结构设计表现层解决方案,简单易学。 a) 在ExtJs2.X的基础上进行的二次开发与通用接口设计,让繁琐的页面开发简单易行; b) 极大提高企业的项目Web表现层的开发效率; c) 统一企业的项目UI设计,统一的框架结构,能迅速规范企业的Web表现层代码设计规范,最大限度的减轻企业后期的项目管理、维护、升级成本; d) 减少企业Web表现层开发人员的培训投入; 2、 完善的组件开发包:为企业组件开发人员提供的一套完整、稳定、高效的B/S结构设计业务逻辑层解决方案。 a) 极大提高企业的项目业务逻辑层组件开发效率; b) 统一的接口规范,能迅速规范企业的业务逻辑层组件代码设计规范,最大限度的减轻企业后期项目管理、维护升级成本; c) 减少企业业务逻辑层组件开发人员的培训投入; 3、 分层结构设计:Efs框架严格按照MVC模式设计开发。 a) 能帮助企业迅速发挥团队开发优势,合理分工协作(能迅速将Web表现层开发,业务逻辑组件开发,系统设计合理分离)。 b) 标准的三层结构模型,为系统的稳定、高效运行打下坚实基础。 4、 完善的基础数据库设计: a) 完整的事务、事件管理、用户、单位、角色、权限管理设计,能快速帮助企业在不同的项目中快速完成用户、单位、角色、权限的分配,迅速投入到项目本身的业务系统开发中。 b) 完整的字典管理功能,能方便的对业务系统的全部字典文件进行维护。 c) 标准通用分页查询存储过程设计,为业务系统开发过程中的分页查询提升效率。 d) 灵活稳定的编码分配设计,只需要通过配置即可快速实现可满足各种要求的唯一编码。 e) 健全的汉字拼音管理,收录了常用的3万多汉字的全拼与简拼,能迅速完成对汉字的全拼与简拼的翻译处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值