日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

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

發布時間:2025/3/12 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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 {//分類setprivate 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集合元素排序问题 解决的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。