没有这个方法getChildren
好好看看你的代码

解决方案 »

  1.   

    我的这个方法在一个backingbean中的
    我的这个bean的getChildren方法是这样的:
    public void getChildren(ChildEvent event) {
    System.out.println("backingBean getChildren()!");
    UIList component = (UIList) event.getComponent();
    TreeNode node = event.getNode();
    String nodeId = node.getNodeId();
    String sql = "select * from list where ParentId ='" + nodeId + "'"; ResultSet rs = bean.getRs(sql);
    try {
    while (rs.next()) {
    String name = rs.getString("CurPath");
    String id = rs.getString("ClassId");
    boolean hasChild = hasChildren(id);
    node.addChild(new TreeNode(name, id, hasChild));
    }
      rs.close();
    } catch (Exception e) {
    e.printStackTrace();
    }
    System.out.println("ChildEventListener called!");
    }
      

  2.   

    错误上还指出这样的一处错误:at com.myjsf.component.UIList.broadcast(UIList.java:302)
    我的组件类的broadcast是这样写的:
    public void broadcast(FacesEvent event) throws AbortProcessingException { super.broadcast(event);

    if (event instanceof ChildEvent) {
      FacesContext context = getFacesContext();
      MethodBinding mb = getChildListener();
      if (mb != null) {
      mb.invoke(context, new Object[] { event });
      }
    }

    }对了,我还想问一下,我写了一个ChildEvent事件类,一个ChildListener接口。在decode中产生ChildEvent事件并排队,在broadcast中用绑定的方法处理这个事件。
    不知这样是不是有什么问题?
    谢谢各位!!