Jsf 从另一个bean(primefaces)获取SelectedNode
我有一个treeNode的ManagedBean和其他托管bean,我想从中获取selectedNode,从getType中我想执行一些代码,但问题是我无法获取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
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我会发布它作为答案。