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

实现效果 分类在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";}






本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/553543.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

进栈出栈示意图

进栈出栈示意图 12345 一次进栈 可以是54321,21543,32541等, 原理 : 后进先出,先进后出

浏览器与JavaScript(一)

作为web前端工程师&#xff0c;每天都会使用浏览器&#xff0c;所以就想总结下浏览器的知识&#xff0c;下面开始正文&#xff0c;本文的东西都是拿Chrome浏览器来说的。 浏览器是多进程。 我们先打开浏览器然后打开一个页面&#xff0c;这个时候我们并不清楚浏览器在后台为我…

java方法的重载与覆盖的返回值类型

public class A extends B{//下面的是方法的覆盖&#xff08;重写overRiding&#xff09;public void riding(){System.out.println("this is overRiding ");}//下面两个函数是方法的重载(overLoading)&#xff0c;但是返回值类型不同&#xff0c;可以运行public St…

threejs 局部辉光

首先看一下局部辉光的效果。 困扰很久的问题&#xff0c;终于解决了&#xff01;&#xff01;&#xff01; 具体找到解决的方法是看了这里和这里2。也是看了这两个帖子之后才找到解决方法。 这种辉光效果也是用后期处理方法&#xff0c;大家可以先看官网上的这个例子。 rend…

RTMP 在浏览器端播放

RTSP、RTMP 也有很多在说的。然而我就是总结下我最近在使用RTMP的理解。 首先说一下RTMP协议的定义, 实时消息协议&#xff08;英语&#xff1a;Real-Time Messaging Protocol&#xff0c;缩写RTMP&#xff09;也称实时消息传输协议&#xff0c;是最初由Macromedia为通过互联网…

自定义spring配置文件位置

spring配置文件 springtest.xml 转移位置 看web.xml配置文件位置 <!-- springMVC 配置 --><servlet><servlet-name>springMVC</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><!--…

maven项目调试debug错误Source not found.

解决方法&#xff1a; 首先要先将正在调试的项目停止&#xff1b;右键项目 -> Debug As -> Debug Configurations ... 在左侧选择项目对应的启动配置 -> 选中Default -> Remove 点击上图中的Add -> 选Java Project -> 选中对应的项目源码 -> OK

利用dos进入mysql数据库操作数据

1.cd到mysql安装目录bin目录 2.输入ip 用户名,密码 3 3.查看数据库实例 4.进入一个实例 5,操作数据

SVN卸载,修复,等问题:依赖服务或组无法启动.(0x8007042c)解决之一

依赖服务或组无法启动.(0x8007042c) 问题解决办法&#xff1a; 点开始-运行-输入regedit 打开注册表 注册表路径HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services 在下面的列表中&#xff0c;找到winmgmt&#xff08;Windows Management Instrumentation 的服务名称&am…

springmvc框架下的国内地区级联效果(共享一下给学习的小伙伴)

前台页面html <select name"area" id "areaId" οnchange"areaChange();"><option value"-1">--请选择地区--</option><#list configAreaList as configArea ><option value"${configArea.id}"&…

spring(java,js,html) 截图上传

html <#-- 上传头像 测试页 使用imgareaselect 插件 -->最后 上传了这个插件 共学习参考<link rel"stylesheet" type"text/css" href"${frontRes}/imgareaselect/css/imgareaselect-animated.css" /><link rel"styleshee…

实现多个下拉框同一批option,选中其一其他框里去除选中的项(不可选择已选过的项)--js

html 初始化 先把下拉框 satisfactionOptionTList 查出来,以便出发 选中事件 <div class"col-xs-4"> <button type"button" οnclick"resetSatisfaction();" class"btn btn-success btn-sm" style"ba…

myEclipse背景控制插件方案 内附使用说明

各种效果 本人使用21,epf 下载地址: http://download.csdn.net/detail/u014596302/9652857 效果如下: 更多选择 ,赶紧试试吧

java调试,调试模式不进入内部类解决

myeclipse 编辑java 代码是内部类 断点无法进入, 调试时将内部类方法的第一行断点可进入内部类调用的方法

autocomplete 属性 清除input框输入存留历史值,防止下拉历史值显示

autocomplete 属性规定输入字段是否应该启用自动完成功能。 自动完成允许浏览器预测对字段的输入。当用户在字段开始键入时&#xff0c;浏览器基于之前键入过的值&#xff0c;应该显示出在字段中填写的选项。 注释&#xff1a;autocomplete 属性适用于 <form>&#xff0c…

myeclipse不是eclipse,servlet 报错 HttpServlet cannot be resolved to a type

如果还是想洁净一下的小伙伴还是请自己引用一下自己tomcat 的servlet 吧

spring Boot报错 之五种(不打包运行)

Whitelabel Error Page This application has no explicit mapping for /error, so you are seeing this as a fallback. Fri Aug 18 13:01:46 CST 2017There was an unexpected error (typeNot Found, status404).No message available其一: 之前百度,google,必应,都TM 不好…

spring boot打包问题,访问问题

用eclipse 打jar包 或者war 会报错(换maven-surefire-plugin: 其他版本一样报错 ) 总结所有的可能性 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.3:test (default-test) on project jxBoot: Execution default-test of goal org.apach…