-
- 查找到界面修改密码的位置
- 界面业务
- 校验输入的请求参数
- 提交Ajax的post请求
<script type="text/javascript"> $("#btnEp").click(function(){ //对表单进行校验 //.form("validate")这个是由easyui.js提供的方法 var v = $("#editPasswordForm").form("validate"); //alert("xx") if(v){ //两次密码是否一至 var p1 = $("#txtNewPass").val(); var p2 = $("#txtRePass").val(); if(p1 == p2){ //发送网络请求 var url = "${pageContext.request.contextPath}/userAction_editPassword" $.post(url,{password:p1},function(data){ if(data == 1){ $.messager.alert("提示信息","修改成功","info"); }else{ $.messager.alert("提示信息","修改失败","info"); } }); }else{ $.messager.alert("提示信息","两次密码不一至","warning"); } } }); </script> |
-
- 写好后台的业务
- Action
public String editPassword() throws IOException{
User loginUser = (User) ServletActionContext.getRequest().getSession().getAttribute("loginUser");
String newPwd = MD5Utils.md5(model.getPassword());
String flag = "1"; try { userService.editPassword(newPwd,loginUser.getId());
} catch (Exception e) { flag = "0"; e.printStackTrace(); }
//响应客户端端 ServletActionContext.getResponse().setContentType("text/html;charset=UTF-8"); ServletActionContext.getResponse().getWriter().print(flag);
//返回json格式处理 //response.setHeader("content-type","text/json;charset=utf-8"); //response.getWriter().print("{\"success\":\"1\"}");
return NONE; } |
|
- Dao
/**这是一个通用的更新方法,queryName是需要在user.hbm.xml文件中配置的 * user.hbm.xml: * <query name="editPassword">UPDATE User SET password = ? WHERE id = ?</query> * */ public void excuteUpdate(String queryName, Object... objs) { // TODO Auto-generated method stub Session session = this.getHibernateTemplate().getSessionFactory().getCurrentSession();
Query query = session.getNamedQuery(queryName);
int i = 0; for(Object obj : objs){ query.setParameter(i, obj); i++; }
query.executeUpdate(); } |