Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsf 从另一个bean(primefaces)获取SelectedNode_Jsf_Jsf 2_Primefaces_Treenode - Fatal编程技术网

Jsf 从另一个bean(primefaces)获取SelectedNode

Jsf 从另一个bean(primefaces)获取SelectedNode,jsf,jsf-2,primefaces,treenode,Jsf,Jsf 2,Primefaces,Treenode,我有一个treeNode的ManagedBean和其他托管bean,我想从中获取selectedNode,从getType中我想执行一些代码,但问题是我无法获取selectedNode,因为每次我都得到以下内容: java.lang.NullPointerException: javax.faces.FacesException: #{dimMan.makeDim()}: java.lang.NullPointerException 这是我的两个托管bean: @ManagedBean @V

我有一个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中获取所选的节点类型?

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


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

dimensionmanaged
ManagedBean是否与其他页面关联?如果是这样,一旦您导航到
TreeBean
,它的数据将丢失,因为它在
视图范围内
。发布Facelet代码。Thx现在可以了干得好Kishor POk我会发布它作为答案。