第一种:有父节点的树的实现
一、action代码
@RequestMapping(value="/tree_sbzl.json", method={RequestMethod.GET, RequestMethod.POST})
@ResponseBody
public Object listtree( String pdatatype, String pcustattr, String pid, HttpServletRequest request){
//判断树父id是否为空
if(StringUtil.isEmpty(pid)){
List<TreeNode> list = new ArrayList<TreeNode>();
TreeNode root = new TreeNode("1", "资料设备", "ZLSBGL", null, true);
list.add(root);
return list;
}else{
List<TreeNode> list = new ArrayList<TreeNode>();
//查询菜品分类下面的菜品分类名称
List<SnEquipments > listeq=equipmentsService.queryeqcategory();
//遍历获取子节点,未加载大图缩略图
for (int i=0;i<listeq.size();i++){
list.add(new TreeNode(listeq.get(i).getEquuid(),listeq.get(i).getEqname(),"CPGL",null,false));
}
return list;
}
二、service代码
/**
* 获取资料设备列表
* @return list集合
*/
public List<SnEquipments> queryeqcategory(){
//定义hql语句
String hql = " from SnEquipments";
//hql查询所有的资料设备对象
List<SnEquipments> listEq =this.listByHql(hql);
//返回list集合
return listEq;
}
三、xml中配置tree node的URL(即action类上面打的标签)
四、效果图
第二种:列表形式的树的实现
一、action代码
@Controller
@RequestMapping("/equipments")
public class EquipmentsAction extends BaseAction{
@Autowired
private EquipmentsService equipmentsService;//添加EquipmentsService注入
//设备资料管理左侧列表
@RequestMapping(value="/left_sbzl.json", method={RequestMethod.GET, RequestMethod.POST})
@ResponseBody
public Object left_sbzl(String pdatatype, String pcustattr, String pid, HttpServletRequest request){
List<TreeNode> list = new ArrayList<TreeNode>();
//添加树的节点
list.add(new TreeNode("1", "视频监控", "SHIPIN", null, false, "camera.png"));
list.add(new TreeNode("2", "单兵", "DANBING", null, false, "mobile.png"));
list.add(new TreeNode("3", "RFID卡", "RFID", null, false, "rePwd.gif"));
list.add(new TreeNode("4", "门禁卡", "MENJIN", null, false, "temparg_set.gif"));
return list;
}
注:列表形式的树的节点都是直接添加的数据,所以不用调用service的方法,然后直接在xml中配置URL即可。
二、URL地址
三、效果图