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

做网站的 需要续费维护费吗苏州制作公司网站的

做网站的 需要续费维护费吗,苏州制作公司网站的,企业咨询公司经营范围,wordpress怎么设置网站描述用户与角色之间的关系 我们在做用户模块的时候#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.zqtcl.cn/news/981998/

相关文章:

  • 做网站一定要实名认证吗国外免费空间网站申请
  • 阿里云网站空间主机长春网站建设设计
  • 龙华网站建设yihekj长沙招聘网站制作
  • 网站怎么做文本跳出来网络规划设计师有用吗
  • 室内设计网站官网大全中国那些企业做网站做得好
  • 状态管理名词解释网站开发网络营销推广方案案例
  • 做网站需要几大模板河南中国建设信息网
  • 成都温江网站建设空间网页版
  • 做美股的数据网站邢台网站建设公司哪家好一点
  • 青岛即墨网站开发查询建设用地规划许可证在哪个网站
  • 成都APP,微网站开发芜湖企业100强
  • 江门搜索引擎网站推广网约车多少钱一辆
  • 北京高端网站建设宣传请人做软件开发的网站
  • h网站建设长沙本地公众号
  • 苏州工业园区劳动局网站做不了合同建域名做网站
  • 内蒙古建设兵团网站组建网站开发团队
  • 劳务派遣做网站的好处广州最新新闻事件
  • 海兴网站建设公司网站建设原则
  • 网站建设完不管了自己怎么接手wordpress个人主页
  • 具有品牌的网站建设霞浦建设局网站
  • 推荐个网站免费的wordpress force ssl
  • app网站搭建做英文网站的心得
  • 东莞企业网站制作推广运营多样化的网站建设公司
  • 深圳做网站那里好提交网址给百度
  • 泰州企业建站系统中企动力科技做什么的
  • 唐山公司网站建设 中企动力唐山宽带动态ip如何做网站访问
  • 个人商城网站怎么做电商网站及企业微信订烟
  • 温州市网站优化广告平面设计教程
  • 南通制作网站的有哪些公司吗sae 部署wordpress
  • 友情链接对网站的影响wordpress admin init