当前位置: 首页 > news >正文

电视网站后台管理系统漏洞淘客推广怎么做

电视网站后台管理系统漏洞,淘客推广怎么做,优秀网页设计作品,网站建设完成之后要索取哪些用户与角色之间的关系 我们在做用户模块的时候#xff0c;漏掉了最后一个功能。在新增功能中是可以选择角色的。 用户与角色之间的关系也是多对多 一个用户对应多个角色一个角色可以被多个用户使用。现在呢#xff0c;我们的用户表已经是写的了。我们最好就不要修改原有的用户… 用户与角色之间的关系 我们在做用户模块的时候漏掉了最后一个功能。在新增功能中是可以选择角色的。 用户与角色之间的关系也是多对多 一个用户对应多个角色一个角色可以被多个用户使用。 现在呢我们的用户表已经是写的了。我们最好就不要修改原有的用户表数据。那我们在不修改用户表代码的情况下又怎么来实现多对多呢 跟角色与权限是一样的。使用中间表来维护它们的关系就行了。 用户user用户id,名称...1 用户12 用户2用户角色user_role用户id,角色id1 11 22 2角色role角色Id,名称1 管理员2 一般用户 设计中间表 public class UserRole implements Serializable {private UserRoleId userRoleId;public UserRoleId getUserRoleId() {return userRoleId;}public void setUserRoleId(UserRoleId userRoleId) {this.userRoleId userRoleId;} }主键表 public class UserRoleId implements Serializable {private String user_id;//在使用的时候Role相关的数据会用得特别多。为了方便使用了Role对象。而user就不需要使用User对象了。private Role role;Overridepublic boolean equals(Object o) {if (this o) return true;if (o null || getClass() ! o.getClass()) return false;UserRoleId that (UserRoleId) o;if (user_id ! null ? !user_id.equals(that.user_id) : that.user_id ! null) return false;return role ! null ? role.equals(that.role) : that.role null;}Overridepublic int hashCode() {int result user_id ! null ? user_id.hashCode() : 0;result 31 * result (role ! null ? role.hashCode() : 0);return result;}public String getUser_id() {return user_id;}public void setUser_id(String user_id) {this.user_id user_id;}public Role getRole() {return role;}public void setRole(Role role) {this.role role;} } 映射文件 ?xml version1.0 encodingutf-8?!DOCTYPE hibernate-mapping PUBLIC -//Hibernate/Hibernate Mapping DTD 3.0//ENhttp://hibernate.sourceforge.net/hibernate-mapping-3.0.dtdhibernate-mappingclass namezhongfucheng.user.entity.UserRole tableuser_rolecomposite-id nameuserRoleId classzhongfucheng.user.entity.UserRoleId!--manytoone可以生成外键字段。--key-many-to-one namerole classzhongfucheng.role.entity.Role columnrole_id lazyfalse/key-property nameuser_id columnuser_id typejava.lang.String//composite-id/class/hibernate-mapping增加模块 在跳转到JSP页面的前把所有的角色找出来。放到request域对象中让JSP页面显示出来。 public String addUI() {//把所有的角色查询出来带过去给JSP页面显示ActionContext.getContext().getContextMap().put(roleList, roleServiceImpl.findObjects());return addUI;} %--list是集合对象name是要带给服务器端的字符串数组。listkey 是集合元素对象的idlistValue 是集合元素对象的名字--%s:checkboxlist list#roleList nameuserRoleIds listKeyroleId listValuename/ 编辑模块 编辑回显数据 在编辑模块中需要将该用户所拥有的角色查询出来。然后把查询出来的id值放到数组中。 public String editUI() {//把所有的角色查询出来带过去给JSP页面显示ActionContext.getContext().getContextMap().put(roleList, roleServiceImpl.findObjects());//外边已经传了id过来了我们要找到id对应的Userif (user ! null user.getId() ! null ) {//直接获取出来后面JSP会根据User有getter就能读取对应的信息user userServiceImpl.findObjectById(user.getId());//通过用户的id得到所拥有UserRoleListUserRole roles userServiceImpl.findRoleById(user.getId());//把用户拥有角色的id填充到数组中数组最后回显到JSP页面int i0;userRoleIds new String[roles.size()];for (UserRole role : roles) {userRoleIds[i] role.getUserRoleId().getRole().getRoleId();}}return editUI;} JSP通过checkboxlist进行回显指定了name值就能够自动判定我们的用户拥有的角色是什么了。 s:checkboxlist list#roleList nameuserRoleIds listKeyroleId listValuename/s:checkboxlist处理编辑操作 在更新之前首先删除用户与角色之间的关系【历史遗留问题】如果不删除那么用户所拥有的角色就一直保留着。无论你在JSP页面有没有勾选。 public String edit() throws IOException {//Struts2会自动把JSP带过来的数据封装到User对象上if (user.getId() ! null user ! null) {if (headImg ! null) {//得到要把头像上传到服务器的路径javax.servlet.ServletContext servletContext ServletActionContext.getServletContext();String realPath servletContext.getRealPath(upload/user);//由于用户上传的名字可能会相同如果相同就被覆盖掉因此我们要修改上传文件的名字【独一无二】headImgFileName UUID.randomUUID().toString() headImgFileName.substring(headImgFileName.lastIndexOf(.));FileUtils.copyFile(headImg, new File(realPath, headImgFileName));//设置图片与用户的关系user.setHeadImg(headImgFileName);}if (userRoleIds ! null) {//删除用户与角色之间的关系【历史遗留问题】userServiceImpl.deleteUserRoleById(userRoleIds);//保存用户与角色。userServiceImpl.saveUserAndRole(user,userRoleIds);}}return list;} 调用保存用户与角色的关系。如果id不是为空的那么就执行更新如果id为空就执行保存。 Overridepublic void saveUserAndRole(User user, String... userRoleIds) {//保存或更新用户if (user.getId() ! null) {userDaoImpl.update(user);} else {userDaoImpl.save(user);}//判断有没有把id带过来if (userRoleIds ! null) {for (String userRoleId : userRoleIds) {System.out.println(userRoleId);userDaoImpl.saveUserRole(new UserRole(new UserRoleId(user.getId(), new Role(userRoleId))));}}} 转载于:https://www.cnblogs.com/zhong-fucheng/p/7202917.html
http://www.pierceye.com/news/614957/

相关文章:

  • 村级网站建设 不断增强免费logo设计图案创意
  • 做网站优化有什么途径什么类型的公司需要做建设网站的
  • 计算机毕设代做网站深圳自适应网站开发
  • 万网主机建设网站流程idc 网站备案
  • 收费用的网站怎么做珠海网站关键词推广
  • 学技巧网站制作网站建设税率多少
  • 高端网站设计平台网页设计模板的网站
  • 万网云服务器网站上线网站开发开票税率
  • 西安高端网站制作公司网站开发需要哪些知识
  • 不错的网站建设公网站建设产品展示型的
  • 泰安住房和城乡建设局网站东莞网站推广哪家好信息
  • 个人网站制作的选题意义简短干净三字公司起名
  • 网站卡密代理怎么做网站建设有关表格
  • 易语言可以做网站么永久免费linux云主机
  • 什么网站可以免费做视频软件网站广告推广价格
  • 网站建设手机软件黄页88收费吗
  • 郑州网站建设多少钱wordpress分享获得积分
  • 贵阳网站设计模板建设工程监理招标网站
  • 上海专业的网页设计公司百度推广优化怎么做的
  • 河南城乡建设厅网站wordpress 主题 字体
  • 网站编辑的工作内容深圳网站设计公司有哪些
  • 设计深圳网站制作网站建设及维护招聘
  • 网站开发实训新的体会wordpress防止机器人注册
  • 购买的网站如何换背景自建网站如何被百度收录
  • 国外外贸网站手机销售网站制作
  • 海外永久网站众车网是哪家公司网站
  • 上海 网站开发 兼职布吉建设网站
  • 做网站资金来源是什么wordpress模版sns
  • 聊城wap网站建设如何分析网站竞争对手
  • 卓业网站建设flash 网站 收费