package com.ibeetl.admin.core.util.beetl; import java.util.List; import org.beetl.core.Context; import org.beetl.core.Function; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import com.ibeetl.admin.core.rbac.tree.FunctionItem; import com.ibeetl.admin.core.rbac.tree.OrgItem; import com.ibeetl.admin.core.service.CorePlatformService; /** * 手工构造一个功能树,书上包含模块,功能,按钮 * @author Administrator * */ @Component public class SysFunctionTreeFunction implements Function { @Autowired CorePlatformService platFormService; public Object call(Object[] paras, Context ctx) { FunctionItem tree = platFormService.buildFunction(); StringBuilder sb = new StringBuilder(256).append("["); FunctionItem root = tree.getChildren().get(0); build(sb,root); sb.append("]"); return sb.toString(); } private void build(StringBuilder sb,FunctionItem item){ sb.append("{name:'").append(item.getData().getName()).append("',code:'").append(item.getData().getCode()); sb.append("',id:").append(item.getData().getId()); if (item.getData().getParentId() == 0){ sb.append(",open:true"); } List list = item.getChildren(); int size = list.size(); if(size==0){ sb.append("}").append("\n"); return ; } sb.append(",\n children:["); for(int i=0;i