Service层: |
@Service |
public class ItemCatServiceImpl implements ItemCatService { |
@Autowired |
private TbItemCatMapper itemCatMapper; |
|
@Override |
public List<EasyUITreeNode> getItemCatList( long parentId) { |
// 根据parentId查询分类列表 |
TbItemCatExample example = new TbItemCatExample(); |
//设置查询条件 |
Criteria criteria = example.createCriteria(); |
criteria.andParentIdEqualTo(parentId); |
//执行查询 |
List<TbItemCat> list = itemCatMapper.selectByExample(example); |
//转换成EasyUITreeNode列表 |
List<EasyUITreeNode> resultList = new ArrayList<>(); |
for (TbItemCat tbItemCat : list) { |
//创建一个节点对象 |
EasyUITreeNode node = new EasyUITreeNode(); |
node.setId(tbItemCat.getId()); |
node.setText(tbItemCat.getName()); |
node.setState(tbItemCat.getIsParent()? "closed" : "open" ); |
//添加到列表中 |
resultList.add(node); |
} |
return resultList; |
} |
} |
Controller层: |
@Controller |
@RequestMapping ( "/item/cat" ) |
public class ItemCatController { |
@Autowired |
private ItemCatService itemCatService; |
|
@RequestMapping ( "/list" ) |
@ResponseBody |
public List<EasyUITreeNode> getItemCatList( @RequestParam (value= "id" , defaultValue= "0" )Long parentId) { |
List<EasyUITreeNode> list = itemCatService.getItemCatList(parentId); |
return list; |
} |
|
} |
JS:显示异步tree: |
initItemCat : function(data){ |
$( ".selectItemCat" ).each(function(i,e){ |
var _ele = $(e); |
if (data && data.cid){ |
_ele.after( "<span style='margin-left:10px;'>" +data.cid+ "</span>" ); |
} else { |
_ele.after( "<span style='margin-left:10px;'></span>" ); |
} |
_ele.unbind( 'click' ).click(function(){ |
$( "<div>" ).css({padding: "5px" }).html( "<ul>" ) |
.window({ |
width: '500' , |
height: "450" , |
modal: true , |
closed: true , |
iconCls: 'icon-save' , |
title: '选择类目' , |
onOpen : function(){ |
var _win = this ; |
$( "ul" ,_win).tree({ |
url: '/item/cat/list' , |
animate: true , |
onClick : function(node){ |
if ($( this ).tree( "isLeaf" ,node.target)){ |
// 填写到cid中 |
_ele.parent().find( "[name=cid]" ).val(node.id); |
_ele.next().text(node.text).attr( "cid" ,node.id); |
$(_win).window( 'close' ); |
if (data && data.fun){ |
data.fun.call( this ,node); |
} |
} |
} |
}); |
}, |
onClose : function(){ |
$( this ).window( "destroy" ); |
} |
}).window( 'open' ); |
}); |
}); |
}, |
jsp: |
<a href= "javascript:void(0)" class = "easyui-linkbutton selectItemCat" >选择类目</a> |