本人想实现可以展开和闭合的jsf表格控件,考虑到tree控件可以实现展开和闭合的功能,但是不能显示成datatable的样式,所以我想实现将tree控件表示成dataTable的形式,因为tree控件的功能对我来说已经够用了,所以想为tree控件自定义一个render,这样可以省去自定义控件的工作。
请问我的这个想法可行吗?还有其他更好的方法吗?
如果这个想法可行,应该怎样实现呢?
谢谢!

解决方案 »

  1.   

    找到tree控件的component,然后自己也一个tag,在tag类中给定一个render,然后再写一个render就可以了。
      

  2.   

    例如
    class xxxTag{
    ...............
     public String getRendererType() { return "myrender"; }//
       public String getComponentType() { return "treecomponet"; }//
    ...............
    }
    class MyRender{   public void encodeBegin(FacesContext context, UIComponent spinner) {}
       public void decode(FacesContext context, UIComponent component) {}}
    faces-config.xml
    <faces-config>
         <component>
          <component-type>treecomponet</component-type>
          <component-class>com.TreeComponent</component-class>
       </component>   <render-kit>
          <renderer>
             <component-family>javax.faces.Input</component-family>
             <renderer-type>myrender</renderer-type>
             <renderer-class>com.MyRender</renderer-class>
          </renderer>
       </render-kit>
    </faces-config>