1. 为密码输入框进行输入校验,使用easyUI提供的easyui-validatebox

 <table cellpadding=3>
<tr>
<td>新密码:</td>
<td><input id="txtNewPass" type="Password" class="txt01 easyui-validatebox"
required="true" data-options="validType:'length[4,8]'" />
</td>
</tr>
<tr>
<td>确认密码:</td>
<td><input id="txtRePass" type="Password" class="txt01 easyui-validatebox"
required="true" data-options="validType:'length[4,8]'"/>
</td>
</tr>
</table>
</div>
<div region="south" border="false" style="text-align: right; height: 30px; line-height: 30px;">
<a id="btnEp" class="easyui-linkbutton" icon="icon-ok" href="javascript:void(0)" >确定</a>
<a id="btnCancel" class="easyui-linkbutton" icon="icon-cancel" href="javascript:void(0)">取消</a>
</div>
</div>

2. 为“确定”按钮绑定事件

<script type="text/javascript">
//为“确定”按钮绑定事件
$("#btnEp").click(function(){
//进行表单校验
var v = $("#editPasswordForm").form("validate");//对应表单中的所有输入框进行校验
if(v){//表单校验通过
//判断两次输入是否一致
var v1 = $("#txtNewPass").val();
var v2 = $("#txtRePass").val();
if(v1 == v2){
//输入一致,发送ajax请求,修改当前用户的密码
var url = "${pageContext.request.contextPath}/userAction_editPassword.action";
$.post(url,{"password":v1},function(data){
if(data == '1'){
//修改密码成功
$.messager.alert("提示信息","密码修改成功!","info");
}else{
//修改失败
$.messager.alert("提示信息","密码修改失败!","warning");
}
//关闭修改密码的窗口
$("#editPwdWindow").window("close");
});
}else{
//输入不一致,提示用户输入不一致
$.messager.alert("提示信息","两次输入密码不一致!","warning");
}
}
});
</script>

3. 在UserAction中提供editPassword方法,修改密码

/**
* 修改当前登录用户密码
* @throws IOException
*/
public String editPassword() throws IOException{
User user = (User) ServletActionContext.getRequest().getSession().getAttribute("loginUser");
String password = model.getPassword();//新密码
password = MD5Utils.md5(password);
String flag = "1";
try{
userService.editPassword(password,user.getId());
}catch (Exception e) {
//修改密码失败
flag = "0";
}
ServletActionContext.getResponse().setContentType("text/html;charset=UTF-8");
ServletActionContext.getResponse().getWriter().print(flag);
return NONE;
}

4. 在BaseDao中扩展一个通用的更新方法

/**
* 通用更新方法
*/
public void executeUpdate(String queryName, Object... objects) {
Session session = this.getSession();// 从本地线程中获得session对象
// 使用命名查询语句获得一个查询对象
Query query = session.getNamedQuery(queryName);
// 为HQL语句中的?赋值
int i = 0;
for (Object arg : objects) {
query.setParameter(i++, arg);
}
query.executeUpdate();// 执行更新
}

5. 在User.hbm.xml中定义一个HQL语句,用于修改密码

 <query name="editPassword">
UPDATE User SET password=? WHERE id=?
</query>

SSH 基于ajax实现修改密码功能步骤梳理的更多相关文章

  1. Sharepoint增加修改密码功能

    Sharepoint中没有自带的修改密码的功能. 如果使用的是AD验证,修改密码,只要修改域帐号的用户名密码就可以了.以下代码可以修改本机密码和域帐号密码. 做法是,添加一个webpart,做一个页面 ...

  2. 九十九:CMS系统之ajax提交修改密码的数据

    顺便实现ajax提交的时候默认提交csrf_token var http = { 'get':function (args) { args['method'] = 'get'; this.ajax(a ...

  3. Web实现数据库链接的登录注册修改密码功能

    /** * Copyright (C), 2017-2017 * FileName: User * Author: ichimoku * Date: 2017/12/5 14:31 * version ...

  4. JavaWeb网上图书商城完整项目--day02-19.修改密码功能流程分析

    我们来看看修改密码的业务流程操作:

  5. js用户修改密码功能模块

    ;(function(){ var ajaxSub = false, showError = function(msg){ if(msg){ $('#er_txt').html(msg).show() ...

  6. Yii2 实现修改密码功能

    YII2对密码加密生成的结果是不同的,即用相同的初始密码在不同时间得到的加密结果不同,所以我们不能用常用的方法去验证密码是否正确(将密码加密后与数据库中的密码相比较).YII2有自己的加密以及密码验证 ...

  7. 基于SpringBoot从零构建博客网站 - 设计可扩展上传模块和开发修改头像密码功能

    上传模块在web开发中是很常见的功能也是很重要的功能,在web应用中需要上传的可以是图片.pdf.压缩包等其它类型的文件,同时对于图片可能需要回显,对于其它文件要能够支持下载等.在守望博客系统中对于上 ...

  8. Liferay 6.2 改造系列之七:关闭使用条款确认、密码提醒、新用户强制修改密码等功能

    关闭使用条款确认: 在/portal-master/portal-impl/src/portal.properties配置文件中,有如下配置: # # Set this to true if all ...

  9. NTOPNG修改密码

    感觉这个有点妖,因为在两个实例上修改密码都失败了. 于是,从网上看看是怎么回事, 按以下步骤重置你想要的密码: 1,为密码生成MD5字串: echo -n "your_password&qu ...

随机推荐

  1. HDU 1029 Ignatius and the Princess IV(数论)

    #include <bits/stdc++.h> using namespace std; int main(){ int n; while(~scanf("%d",& ...

  2. 福州三中集训day4

    第6天写第4天的博客….可以说是很弱了…… 讲了一天的高级数据结构,可以说很迷,先是并查集,然后是树状数组,线段树,MAP函数,KMP算法. 很难……确实不是很清楚…但是很重要,回去以后这应该说是优先 ...

  3. 并查集【p1197】[JSOI2008]星球大战

    Description 很久以前,在一个遥远的星系,一个黑暗的帝国靠着它的超级武器统治着整个星系. 某一天,凭着一个偶然的机遇,一支反抗军摧毁了帝国的超级武器,并攻下了星系中几乎所有的星球.这些星球通 ...

  4. Linux命令之halt、poweroff、reboot

    halt [选项] poweroff [选项] reboot [选项] 这三个命令模式一样,目的是引导内核启动或停止系统的运行:当没有-f参数或系统运行级别不是0和6,将执行/sbin/shutdow ...

  5. Oracle alter table modify column Syntax example

    http://www.dba-oracle.com/t_alter_table_modify_column_syntax_example.htm For complete tips on Oracle ...

  6. VS code 的变量设定

    文档来自https://code.visualstudio.com/docs/editor/variables-reference 预定义的变量有: ${workspaceFolder} - the ...

  7. CodeForces - 990G GCD Counting

    Discription You are given a tree consisting of nn vertices. A number is written on each vertex; the ...

  8. 【dfs】bzoj3563 DZY Loves Chinese

    因为我们可以通过把某一行读到末尾来获取真正的K,所以把它和假K异或之后就是之前联通的次数(异或的逆运算为其本身).最后一次的暴力一下. #include<cstdio> #include& ...

  9. elasticsearch将数据导出json文件【使用elasticdump】

    1.前提准备 需要使用npm安装,还未安装的朋友可以阅读另一篇我的博客<安装使用npm>,windows环境. 2.安装es-dump 打开终端窗口PowerShell或者cmd. 输入命 ...

  10. Scala零基础教学【102-111】Akka 实战-深入解析

    第102讲:通过案例解析Akka中的Actor运行机制以及Actor的生命周期 Actor是构建akka程序的核心基石,akka中actor提供了构建可伸缩的,容错的,分布式的应用程序的基本抽象, a ...