实现效果 分类在set集合里不可排序 现要使商家拥有的相同的分来在同一列,需要把set集合里的元素放入list 但是问题是页面是双循环,必须以 . 的形式取集合元素所以需要把list集合声明到实体中,只做临时存储,所以写到dto类,这样就可排序了 我们用一个内部类Collections 的sort ( ....)方法来排序 , 这样内层循环就可以取到拍好序的元素,从而达到目的

jsp页面

<c:forEach items="${businessList}" var="businessDto"><c:forEach items="${businessDto.busniessAssortList}" var="busniessAssort" varStatus="_index"><a style="border:2px solid #DBDBDB;padding: 2px 4px;margin-left:3px;"  title="修改" href="${pageContext.request.contextPath}/adminBusiness/toUpdateBusinessAssort.do?id=${businessDto.id}&busniessAssortDto.id=${busniessAssort.id}">${busniessAssort.name}  </a><label style="font-size:20px;color:red;cursor: pointer;" οnclick="delBusinessAssortRef(${businessDto.id},${busniessAssort.id});" >⊗</label></c:forEach>
</c:forEach>

实体:

pojo 类


@Entity
@Table(name = "BUSINESS")
@JsonAutoDetect
@JsonIgnoreProperties(value = { "hibernateLazyInitializer", "shopkeeper",
"dishAssorts", "busniessAssorts", "empBusRefs", "orders",
"orderDetails", "userAccounts", "activities"})
public class Business implements java.io.Serializable {
//分类set
private Set<BusniessAssort> busniessAssorts = new HashSet<BusniessAssort>(0);
@ManyToMany(mappedBy = "businesss", cascade = { CascadeType.PERSIST })public Set<BusniessAssort> getBusniessAssorts() {return busniessAssorts;}public void setBusniessAssorts(Set<BusniessAssort> busniessAssorts) {this.busniessAssorts = busniessAssorts;}
/*
其他get/set方法
*/
}

dto 类

public class BusinessDto extends Business implements java.io.Serializable,Comparable<BusinessDto> {
//页面取这个集合即可得到处理后的元素顺序
private List<BusniessAssort> busniessAssortList = new ArrayList<BusniessAssort>();//排序
public List<BusniessAssort> getBusniessAssortList() {
return busniessAssortList;
}
public void setBusniessAssortList(List<BusniessAssort> busniessAssortList) {
this.busniessAssortList = busniessAssortList;
}
}

执行的 controllor 层方法

       /*** for admin*/@RequestMapping("/toAdminBusniessAssort.do")public String toBusinessInfo(BusinessDto businessDto) {Pager pager = this.calculatePagedInfo();pager.setPageSize(pager.getPageSize()>20 ? pager.getPageSize() : 20); businessDto.setDishType(1L);//第一层排序 List<BusinessDto> businessList = businessService.getBusinessAllForAdmin(pager, businessDto);Collections.sort(businessList,new Comparator<BusinessDto>() {public int compare(BusinessDto o1, BusinessDto o2) {                return o2.getId().compareTo(o1.getId());}});
第二层排序
for (BusinessDto businessDto2 : businessList) {//分类排序List<BusniessAssort> busniessAssortList = new ArrayList<BusniessAssort>();busniessAssortList.addAll(businessDto2.getBusniessAssorts());businessDto2.setBusniessAssortList(busniessAssortList);Collections.sort(businessDto2.getBusniessAssortList(),new Comparator<BusniessAssort>() {public int compare(BusniessAssort o1, BusniessAssort o2) {                return o2.getId().compareTo(o1.getId());}});}if(businessDto!=null){if(StringUtils.hasText(businessDto.getName())){this.getRequest().setAttribute("name", businessDto.getName());             }}this.getRequest().setAttribute("businessList", businessList);//这里只能把businessList 传到页面 return "admin/business/adminBusAssortRef";}

springMVC实体用注解管理,多对多 set集合元素排序问题 解决相关推荐

  1. SpringBoot24 SpringDataJPA环境搭建、实体类注解、关联查询

    1 版本说明 JDK:1.8 MAVEN:3.5 SpringBoot:2.0.4 IDEA:旗舰版207.2 MySQL:5.5 2 SpringDataJPA环境搭建(SpringBoot版本) ...

  2. 5.概念(maven,ssm,springMvc,spring,自定义注解,二级缓存,范式,事务,mysql,线程池,map,hashmap,redis,饿汉,懒汉)

    maven是啥: 1.Maven是一个项目管理和综合工具.Maven提供了开发人员构建一个完整的生命周期框架. 创建-导入jar报–编写配置文件-实现业务功能-测试-发布上线. 2.开发团队可以自动完 ...

  3. SpringMVC 实例 --非注解【过时的,留作回忆】

    练习项目:test SpringMVC 实例 --非注解,只用于学习理解.到了spring 3.0以后或许部分东西已经过时了,在实际工作中并不一定好用. 但对于理解SpringMVC的实现方式很有帮助 ...

  4. springMvc常用的注解有哪些?

    springMvc常用的注解有哪些? 1.@Controller @Controller 用于标记在一个类上,使用它标记的类就是一个SpringMVC Controller 对象.分发处理器将会扫描使 ...

  5. mybatis 一对多查询_Java自学之mybatis:使用注解方式多对一查询

    学习目的:学习使用注解方式实现多对一查询,查询出所有的Product,通过product_中的cid查询到所属的Category. Part 1 mapper CategoryMapper packa ...

  6. SpringMVC的常用注解

    SpringMVC的常用注解 1.@Controller @Controller注解在类上,表明这个类是Spring MVC 作为Controller(控制器)的角色.这样就可以将其 声明为Sprin ...

  7. wcf:rest_REST:管理多对多关系

    wcf:rest 介绍 管理多个资源之间的关系可能是RESTful API的重要组成部分. 在这篇文章中,我们将看到使用REST API可以管理多对多关系. 我们以一个简单的用户 / 组关系为例. 假 ...

  8. lombok 的bug?lombok 导致 springmvc 使用 @RequestBody注解 接收 json数据 对象参数绑定失败

    大家好,我是烤鸭:     lombok 导致 springmvc 使用 @RequestBody注解 接收 json数据 对象参数绑定失败.     环境版本:         spring 5.x ...

  9. Quartz+SpringMVC实现web定时管理任务

    代码地址如下: http://www.demodashi.com/demo/13978.html 使用背景 相信大家在工作过程中,肯定会遇到很多任务定时执行,修改定时任务的时间,执行一次定时任务等等. ...

最新文章

  1. 信息系统项目管理知识--知识产权与标准化
  2. vba查找数据并返回单元格地址_VBA积木代码中实现反向多值查找、LIKE模糊查找...
  3. 知道 Hardtop 就够了?这九项必备技术你也必须掌握!
  4. Spring AOP XML配置及注解配置
  5. react使用antd实现日期与时间的不可选定
  6. Vue.js新手入门指南
  7. netstat 的10个基本用法
  8. 使用 android adb命令 录像 screenrecord 和 截屏 screencap
  9. 《Spring Cloud微服务实战》翟永超(著)
  10. 解除windows10多账户远程桌面连接限制
  11. [SSM]报错500:org.springframework.dao.DataIntegrityViolationException
  12. vue3 composition API
  13. php幻灯片图片不显示不出来,织梦dedecms默认模板幻灯片无法显示图片的解决方法...
  14. 60 集合的交集、并集和差集运算
  15. 浅析Windows域环境身份认证与攻击思路
  16. 学校计算机一级上网题,考试经验之谈:计算机一级考试上网题怎么操作?
  17. (一)ArcGIS空间数据的转换与处理——投影变换
  18. 李昌镐:苍老的青春(转载) 韩国围棋职业棋手
  19. 【博学谷学习记录】学习心得分享
  20. 避免计算机中毒的方法,不再怕病毒 电脑中毒后的6招处理方法

热门文章

  1. 如何用法向量求点到平面距离_支持向量机(SVM)
  2. 总结计算机语言的基本元素,认识程序设计中基本元素教案.doc
  3. centos默认安装mysql_centos6.x默认安装mysql5.7
  4. Java编程作业体会_Java作业的几点总结感想
  5. 罗马音平假名片假名转换器_关于五十音你所要知道的一切!文末附日网高清字帖...
  6. python日历模块_Python日历模块| prmonth()方法与示例
  7. Java GregorianCalendar hashCode()方法与示例
  8. 高并发内存占用持续下降_师兄,为什么删除数据后,Redis内存占用依然很高?...
  9. nextdate函数白盒测试问题 软件测试_软件测试基本常识
  10. vector cbegin_vector :: cbegin()函数以及C ++ STL中的示例