一、修改用户密码模块
1、修改密码的easyui代码
<table cellpadding=3>
<tr>
<td>新密码:</td>
<td><input required="true" data-options="validType:'length[4,6]'" id="txtNewPass" type="Password" class="txt01 easyui-validatebox" /></td>
</tr>
<tr>
<td>确认密码:</td>
<td><input required="true" data-options="validType:'length[4,6]'" id="txtRePass" type="Password" class="txt01 easyui-validatebox" /></td>
</tr>
</table>
2、为"修改"按钮添加事件并验证
//为确定按钮绑定事件
$("#btnEp").click(function(){
//进行表单校验
var v = $("#editPasswordForm").form("validate");
if(v){
//表单校验通过,手动校验两次输入是否一致
var v1 = $("#txtNewPass").val();
var v2 = $("#txtRePass").val();
if(v1 == v2){
public String editPassword() throws IOException{
String f = "1";
//获取当前登录用户
User user = BOSUtils.getLoginUser();
try{
userService.editPassword(user.getId(),model.getPassword());
}catch(Exception e){
f = "0";
e.printStackTrace();
}
ServletActionContext.getResponse().setContentType("text/html;charset=utf-8");
ServletActionContext.getResponse().getWriter().print(f);
return NONE;
}
//两次输入一致,发送ajax请求$.post("userAction_editPassword.action",{"password":v1},function(data){if(data == '1'){//修改成功,关闭修改密码窗口$("#editPwdWindow").window("close");}else{//修改密码失败,弹出提示$.messager.alert("提示信息","密码修改失败!","error");}});}else{//两次输入不一致,弹出错误提示$.messager.alert("提示信息","两次密码输入不一致!","warning");}}});
3、UserAction的editPassword方法
public String editPassword() throws IOException{
String f = "1";
//获取当前登录用户
User user = BOSUtils.getLoginUser();
try{
userService.editPassword(user.getId(),model.getPassword());
}catch(Exception e){
f = "0";
e.printStackTrace();
}
ServletActionContext.getResponse().setContentType("text/html;charset=utf-8");
ServletActionContext.getResponse().getWriter().print(f);
return NONE;
}
4、UserServiceImp中的editPassword方法
public void editPassword(String id, String password) {
//使用MD5加密密码
password = MD5Utils.md5(password);
userDao.executeUpdate("user.editpassword", password,id);
}
5、UserDaoImp中的editPassword方法
//执行更新
public void executeUpdate(String queryName, Object... objects) {
Session session = this.getSessionFactory().getCurrentSession();
Query query = session.getNamedQuery(queryName);
int i = 0;
for (Object object : objects) {
//为HQL语句中的?赋值
query.setParameter(i++, object);
}
//执行更新
query.executeUpdate();
}
6、在User.hbm.xml中定义更新语句
<query name="user.editpassword">
UPDATE User SET password = ? WHERE id = ?
</query>
二、取派员的增加模块
1、拓展easyui的校验规则
<script type="text/javascript">
$(function(){
var reg = /^1[3|4|5|7|8][0-9]{9}$/;
//扩展手机号校验规则
$.extend($.fn.validatebox.defaults.rules, {
telephone: {
validator: function(value,param){
return reg.test(value);
},
message: '手机号输入有误!'
}
});
});
</script>
2、为手机号输入框应用规则
3、为保存按钮绑定事件
$("#save").click(function(){
//表单校验,如果通过,提交表单
var v = $("#addStaffForm").form("validate");
if(v){
//$("#addStaffForm").form("submit");
$("#addStaffForm").submit();
}
});
服务器端实现:action获取到模型对象,直接传递给service层,service层调用dao层保存就好了,但是要注意在service层需要添加事务注解。