У меня есть ManagedBean для treeNode и другого управляемого компонента, где я хотел бы получить selectedNode, и из getType я хотел бы выполнить некоторый код, но проблема, которую я не могу получить, вызывает selectedNode каждый раз, когда я получаю это:
java.lang.NullPointerException: javax.faces.FacesException: #{dimMan.makeDim()}: java.lang.NullPointerException
и это мои два управляемых компонента:
@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 =***)
, но это не сработало, так что мне делать, чтобы получить тип selectedNode из другого ManagedBean?
DimenssionManaged
ManagedBean связан с другой страницей? Если это так, как только вы перейдете кTreeBean
, он потеряет свои данные, поскольку он находится вViewScoped
. Опубликуйте код Facelet. - person Kishor Prakash   schedule 25.07.2014