BOS系统开发笔记(4)---修改用户密码模块和取派员的增加模块

一、修改用户密码模块 


   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层需要添加事务注解。


猜你喜欢

转载自blog.csdn.net/pbrlovejava/article/details/80963826