2 - 树啊!
的公共无效createTree(树树,CachedRowSetDataProvider供应商,字符串idField,pidField字符串,字符串文本字段,字符串操作){
MethodExpression methodExpression =空;
FacesContext的上下文= FacesContext.getCurrentInstance(); / /当前实例
(action!= NULL){
应用程序的应用程序context.getApplication();
ELContext是elContext context.getELContext();
methodExpression =应用程序.getExpressionFactory().createMethodExpression(elContext,行动,String.class,新的Class [] {});
} / /上面的程序操作,我不太明白,主要是为了防止和空气问题.并初始化.
地图地图新的HashMap (); / /新地图
布尔的激活hasNext = provider.cursorFirst();/ / / /建立布尔变量时hasNext,重新提供先声夺人.
而(“激活hasNext”){
一个TreeNode节点=新的TreeNode();
字符串id =“树”+ provider.getValue(idField); / /拼接字符串.从提供者idfield获得.
字符串文本= String.valueOf(provider.getValue(在textField)); / /获取文字
node.setId(ID); / /设置属性
node.setText(文本); / /的setText
如果(methodExpression!= NULL){
node.setActionExpression的(methodExpression);}
map.put(ID,节点); / ,/到地图
激活hasNext = provider.cursorNext(); / /如果下一个循环继续
}
/ /重新启动
激活hasNext = provider.cursorFirst() ;
(激活hasNext){
字符串PID =“树”+的provider.getValue(pidField); / /获得传入的字符串PID.
字符串id =“树”+ provider.getValue(idField);
一个TreeNode pNode = map.get(PID)/ /从地图上删除传入的字符串 TreeNode的节点= map.get(ID);/ /同上
(pNode == NULL){
tree.getChildren()地址(节点);
/ /树加入
}其他{
pNode.getChildren的()地址(节点);
中的节点添加到pnod
}
激活hasNext = provider.cursorNext() / /设置为继续循环
}
}
,因为他们不知道的作用,我不是很了解,这是做!