【问题标题】:getselectednode from another bean (primefaces)从另一个 bean 中获取选择节点(primefaces)
【发布时间】:2014-07-25 04:16:21
【问题描述】:

我有一个 treeNode 的 ManagedBean 和其他托管 bean,我想在其中获取 selectedNode 并且我想从 getType 执行一些代码,但问题是我无法获取 selectedNode,因为每次我得到这个:

 java.lang.NullPointerException: javax.faces.FacesException: #{dimMan.makeDim()}: java.lang.NullPointerException

这是我的两个托管 bean:

@ManagedBean
@ViewScoped
public class TreeBean implements Serializable {

    private static final long serialVersionUID = 2417620239014385855L;
    private TreeNode root;
    private TreeNode selectedNode;
.....

另一个我想测试所选节点类型的地方:

@ManagedBean(name = "dimMan")
@SessionScoped
public class DimenssionManaged {

    @EJB
    DimensionDaoRemote dimService;

    @Inject
    TreeBean treeSelected;
    String select;

    public TreeBean getTreeSelected() {
        return treeSelected;
    }
    public void setTreeSelected(TreeBean treeSelected) {
        this.treeSelected = treeSelected;
    }
    public void makeDim(){

        System.out.println("adding dimen");
        fkey=tTable.getSelectedFk();
        dimUpdate.setFk_dimension(fkey);
        dimUpdate.setType_dimension(selectedType);
        select=treeSelected.getSelectedNode().getParent().getType();

        System.out.println(select);

        if (select=="cube"){
            CubeBase cub=cubManged.getCubUpdate();
            dimUpdate.setCube(cub);
            dimService.creat_dimension(dimUpdate);
        }
        else {
            SchemaBase sh=shmanged.getSchema();
            dimUpdate.setSchema(sh);
            dimService.creat_dimension(dimUpdate);
        }


    }

我也尝试使用这个注解@ManagedProperty(value =***),但它不起作用所以我应该怎么做才能从其他 ManagedBean 中获取 selectedNode 类型?

【问题讨论】:

  • DimenssionManaged ManagedBean 是否与其他页面关联?如果是这样,一旦您导航TreeBean,它将丢失其数据,因为它位于ViewScoped。发布 Facelet 代码。
  • 谢谢它现在工作得很好,Kishor P
  • 好的,我会把它作为答案发布。

标签: jsf jsf-2 primefaces treenode


【解决方案1】:

DimenssionManaged ManagedBean 是否与其他页面关联?如果是这样,一旦您导航TreeBean,它将丢失其数据,因为它位于@ViewScoped

TreeBean 更改为@SessionScoped 以在导航后保留数据,但再次清除/刷新数据是一个问题。

【讨论】:

    猜你喜欢
    • 2012-05-22
    • 1970-01-01
    • 2015-11-07
    • 2014-10-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多