日期:2014-05-18  浏览次数:20724 次

myfaces的tree2组件生成树形菜单后,为什么子菜单的超链接会没反应?
部分代码如下:
  public   TreeNode   getPermissionByUserid(String   userid)//生成树的节点
      {
     
        TreeNode   trees=new   TreeNodeBase();
      List   modules=this.getModulenameByUserid(userid);
    if(modules!=null)
    {
    for(int   i=0;i <modules.size();i++)
    {
    String   treename=(String)modules.get(i);
   
    TreeNodeBase   node   =   new   TreeNodeBase( "a ",treename, "aaaa ",false);
   
    //List   treeChildren=tree.getChildren();
    List   sections=this.getSectionByModuleAndUserid(treename,   userid);
  if(sections!=null)
  {
    for(int   j=0;j <sections.size();j++)
    {
    String   sectionname=(String)sections.get(j);
    TreeNodeBase   treenode=new   TreeNodeBase( "b ",sectionname,true);
    treenode.setLeaf(true);
    treenode.setIdentifier(sectionname);
    node.getChildren().add(treenode);
   
    //treeChildren.add(treenode);
    }
          }trees.getChildren().add(node)   ;}
           
    }
    return   trees;
      }

public   TreeNode   getTrees()//调用上面的方法
      {
      FacesContext   context=FacesContext.getCurrentInstance();
      HttpSession   session   =   (HttpSession)context.getExternalContext().getSession(true);
Userinfo   user=(Userinfo)session.getAttribute( "user ");
      return   this.getPermissionByUserid(String.valueOf(user.getUserid()));
      }

public   TreeModel   getTreeModel()//生成一个TreeModel供JSP调用
{
ApplicationContext   ac=new
ClassPathXmlApplicationContext( "applicationContext.xml ");
UserService   us=(UserService)ac.getBean( "userService ");
TreeNode   tree=us.getTrees();
treeModel=new   TreeModelBase(tree);

treeModel.setTreeState(treeState);
return   treeModel;
}

jsp页面代码:
<t:tree2   id= "clientTree "   value= "#{leftMenu.treeModel} "   var= "node "   varNodeToggler= "t "  
                  showNav= "true "
                  showRootNode= "false "   >
<f:facet   name= "a ">
    <h:panelGroup>    
        <h:outputText   value= "#{node.description} "   styleClass= "root "   />
    </h:panelGroup>    
</f:facet>
<f:facet   name= "b ">
        <h:commandLink   actionListener= "#{leftMenu.processAction} "   value= "#{node.description} "   id= "clickbutton "   >