[SEAM] richfaces里的tree组件选择行数据的问题

hypercube1024 2008-08-10
我用的richfaces3.2.1GA版,使用tree组件显示都是一切正常的,但是选择行数据一直不能成功,提示如下
12:29:27,228 INFO  [NodeManagerBean] org.richfaces.component.html.HtmlTree
12:29:27,244 WARN  [lifecycle] /nodeManager/node.xhtml @20,95 nodeSelectListener="#{nodeManager.processSelection}": javax.ejb.EJBTransactionRolledbackException: org.richfaces.component.html.HtmlTree cannot be cast to org.richfaces.component.UITree

其中页面代码如下:
<rich:tree id="nodeTree" style="width:300px" nodeSelectListener="#{nodeManager.processSelection}" ajaxSubmitSelection="true"  
switchType="client"
value="#{nodeManager.treeNode}" var="item" nodeFace="#{item.type}">
<rich:treeNode type="dir">
     <h:outputText value="#{item.name}" />
</rich:treeNode>
</rich:tree>


bean的部分代码如下:
    public void processSelection(NodeSelectedEvent event) {
        log.info(event.getComponent().getClass().getName());
        UITree tree = (UITree)event.getComponent();
        log.info("getData..." + tree.getRowKey());
//        log.info("rowdata..." + getTree(event).getRowKey());
//        UITree tree = getTree(event);
    }



hypercube1024 2008-08-10
这个问题搞了整整一天没办法解决,一直找不到什么原因,不知道是不是这种获取rowData的方法不对,看那位大虾能指点一二
5day 2008-08-10
<a:form id="tree">
<rich:tree style="width:200px" value="#{GroupTreeBean.treeNode}" var="item" switchType="client">
<rich:treeNode>
<a:commandLink action="#{GroupTreeBean.processSelection(item.id)}" value="#{item.name}" reRender="tab" />
</rich:treeNode>
</rich:tree>
</a:form>

换这种方式看看呢?
hypercube1024 2008-08-10
搞定了,终于用google在seamframework.org上面找到了答案

只要修改ant脚本把myApp.war里面lib目录里面的所有jar包丢到myApp.ear/lib目录里面再用MANIFEST.MF里面指明Path就可以了,研究了一天终于搞定了。
valleysoft 2009-07-31
[size=xx-large][/size][i][/i]
引用
[img][/img][url][/url]
yourenyouyu2008 2010-10-30
org.richfaces.component.html.HtmlTree cannot be cast to org.richfaces.component.UITree
应该是class加载的问题,这两个类是由不同的类加载器加载的。
http://yourenyouyu2008.iteye.com/blog/779707
Global site tag (gtag.js) - Google Analytics