嘉兴建企业网站/怀化seo推广
大致实现思路:
1.前台获取当前用户的uid
2.前台创建"显示密码"按钮
3."显示密码"按钮有onclick事件,事件里为ajax请求后台controller方法,
controller方法接收前台传递的uid
4.创建dao、daoImpl、service、serviceImpl层查找数据库信息的方法
daoImpl中写的是具体的查询sql语句(根据uid查)
5.在controller中调service的查询方法,而service指向的是dao
6.将查询到的结果放入List集合,并传给前台页面
7.前台页面ajax接收后台数据,并显示
重要代码如下:
Controller:
@RequestMapping(value = "showPass",method = RequestMethod.GET)@ResponseBodypublic ResponseResult showPass(@RequestParam(defaultValue = "0") String uid){// System.out.println("当前用户id:"+id);ResponseResult responseResult = new ResponseResult();if(StringUtils.isNotBlank(uid)) {Map<String, String> paramMap = new HashMap<String, String>();paramMap.put("id", uid);List<User> userList = userService.findByCondition(paramMap, null, 1, new ArrayList<User>(0));// System.out.println(id + "用户的信息是:" + userList);String password = userList.get(0).getPasswordPlain();// System.out.println("当前用户的密码:"+password);responseResult.setStatus(200);responseResult.setData(password);} else {responseResult.setStatus(500);responseResult.setMsg("");}return responseResult;}
Jsp:
<!-- 显示密码按钮--><a class="btn blue xianshi" href="javascript:;"data-ng-click="showPassword(agent);" onclick="tantan();">显示密码</a>
JavaScript:
/*** 查看密码* @param obj*/$scope.showPassword = function(agent){// alert(JSON.stringify(obj[1]));var id =agent[1];$scope.password = " ";$http.get('agent/showPass.smk?uid='+id, {headers : {'X-Requested-With' : 'XMLHttpRequest'}}).success(function(data) {if (data.nologin === true) {msgModal('登录超时,请点击确定重新登录', 'login/logout.smk');} else {if(data.status === 200){$scope.password = data.data;} else {}}}).error(function() {msgModal('亲,请求过于频繁,请稍后再试 ^_^');$scope.nolist = '暂时无数据!';});};
Dao:
public <T> T findByCondition(Map<String, String> map, Page page,Integer sign, T t);
spring+springmvc+hibernate+angular.js+bootstrap